htaccessファイルで正規表現のサポートを検出する方法はありますか?


1

私は次の書き換えルールに従って、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]

代わりに(が?ありません)。

サーバーにこれを自動的に処理させる方法はありますか?フォールバック/トライキャッチなどの形で?


私はあなたの質問を理解したとは言い切れません?。mod_rewriteでの正規表現の使用については、Apacheのドキュメントを参照してください。
-quentinxs

回答:


1

2つのサーバー間で異なるバージョン番号がわかっている場合は、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>

ServerSignatureを使用して、バージョン情報をクライアントに送信します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.