IIS6でISAPI_REWRITERを使用したMOD_REWRITEの問題
-
29-09-2019 - |
質問
私が抱えている問題は、IIS6サーバーがISAPI_REWRITERを実行していることに基づいていることですが、私はこれについて私を助けることができることを望んでいます。
状況は、IIS6でWordPressを実行していることです。ISAPI_REWRITERは、MOD_REWRITEの代替品として機能し、適切に機能しています。私の問題は、WordPressのURLを書き直すようになったとき(したがって、Index.phpファイル名は必要ありません)404を示しています。多くの検索の後、問題はASP.NET(または同様のもの)は、URLの終わりにEurl.axd/[ランダム文字列]を追加していたため、これはWordPressリクエストに供給されて破損していました。 WordPressテンプレートを設定して、要求されたURLを出力すると、次のようになります。
http://www.example.com/index.php/about/eurl.axd/b552863f2d5e9841b5d8b79b44ac02e8/
これは、IISシステムのさまざまなものの順序が順序であるためであり、プロジェクトの別の部分を実行するには犯人が必要であると思います。 ISAPI_REWRITERを使用してURLをきれいにしたいので、これを知りたいです。
システムに供給する前に、mod_rewriteにeurl.axd/[string]を削除する方法はありますか?
私の.htaccessファイルは現在、次のように表示されます。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# The following line excludes folders from rewriting
RewriteCond %{REQUEST_URI} !^/folder-name/
RewriteRule ^/(.*)$ /$1 [NC,L]
すべての助けをありがとう、それは常に大歓迎です。
編集:提案に基づいて私のhtaccessを調整しましたが、私が実行した簡単なテストからうまく機能しているようです。以下に投稿しました。
RewriteEngine on
RewriteBase /
# This is used to strip ASP.net eurl.axd bits
# from the URL so wordpress can use permalinks
# For the root
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/wp-admin/
RewriteRule ^eurl\.axd/[0-9a-f]+/$ index.php [NC,L]
# For internal permalinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/wp-admin/
RewriteRule ^(.*)/eurl\.axd/[0-9a-f]+/$ index.php/$1 [NC,L]
解決
書き換えのリストの一番上にこのようなものが機能するはずです。
RewriteRule ^(.*)/eurl\.axd/[0-9a-f]+/$ /$1
他のヒント
ii6のv4.0 ASP.NET拡張機能の低いURL機能で同様の問題に遭遇し、ISAPI書き換えモジュールプロバイダーを介してソリューションを見つけました。私たちがそれを経験したように、これらの問題と解決策はここに文書化されています http://www.vanadiumtech.com/ourblog/post/2011/08/12/cause-of-eurlaxd.aspx