0
RewriteMapを使用してリライトテキストファイル内でパターンマッチングを行いたいと思っていますが、動作していないようです。以下はApacheの設定です。RewriteMapテキストファイルのパターンマッチング
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteLog "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/apache1.log"
RewriteLogLevel 5
RewriteMap lowercase int:tolower
RewriteMap escape int:escape
RewriteMap sitelevel_external "txt:C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/html1/content/dam/redirect.txt"
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond ${lowercase:%1} ^(.*)$
RewriteCond ${escape:%1} ^(.*)$
RewriteCond ${sitelevel_external:%1|NOT_FOUND} !NOT_FOUND
RewriteRule ^(.*) ${sitelevel_external:%1} [QSA,NC,NE,L,R=301,E=nocache:1]
私はURL http://localhost/delivery-delay.htmlを使用する場合は3番目のルールがそこにあるときにredirect.txtファイルの内容が
^/delivery-delay.html$ http://www.yahoo.com // doesn't work
/delivery-delay.html$ http://www.yahoo.com // doesn't work
/delivery-delay.html http://www.yahoo.com // Works
あり、ヤフーへのリダイレクトのみ発生します。最初の2つの条件がある場合、Apacheはリダイレクトせず404をスローします。標準のプレーンテキスト(sitelevel_external
)で
あなたの設定を見ると、Apache 2.2が正しくインストールされていますか? – freedev
はいそれはApache 2.2です –