
次の書き換えルールを使用して、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
2つのサーバーのバージョン番号が異なることがわかっている場合は、mod_バージョンこれを実行するには、次のようにします。たとえば、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>
使用サーバー署名バージョン情報をクライアントに送信します。