
나는 전체 URL을 PHP 스크립트에 전달하기 위해 다음 재작성 규칙을 사용합니다.
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?rewriteUrl=$1 [QSA,L]
일부 서버에서는 다음을 사용해야 합니다.
RewriteRule ^(.*)$ index.php?rewriteUrl=$1 [QSA,L]
대신 (이 ?
누락되었습니다).
서버가 이를 자동으로 처리하도록 하는 방법이 있습니까? fallback/try-catch 또는 이와 유사한 형태로?
답변1
두 서버 간의 서로 다른 버전 번호를 알고 있는 경우 다음을 사용하세요.mod_version이것을하기 위해. 예를 들어 2.3+에서 다음을 사용하는 경우 ?
:
<IfVersion >= 2.3>
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?rewriteUrl=$1 [QSA,L]
</IfVersion>
<IfVersion < 2.3>
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rewriteUrl=$1 [QSA,L]
</IfVersion>
사용서버서명버전 정보를 클라이언트에 전송합니다.