ええ、mod_rewrite は私を夢中にさせています。
問題は次のとおりです。
私のhtaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
ページにアクセスしようとするとadvantix
(アドレスは でしたwww.mywebsite.com/advantix
)、リダイレクトされますadvantix/?url=advantix
アクセスログを見ると真ん中に怪しい301が入ってる
"GET /advantix HTTP/1.1" 301 335 "-" "Mozilla/5.0"
"GET /advantix/?url=advantix HTTP/1.1" 200 186 "-" "Mozilla/5.0"
重要な詳細が 1 つあります。advantix はディレクトリです。
したがって、そのルールにコメントするadvantix
と、フォルダーに移動してファイルを一覧表示します。
/
一致するフォルダーがある場合に自動的に適用されるのはなぜですか?
フォルダにアクセスしたくない、へ index.php?url=advantix
の呼び出しで advantix
アクセスしたい。
rewriteLogs も持っていますが、それ以上は役に立ちませんでした。私の vhost conf にはのDirectory
タグが付いOptions All
ていますが、役立つ場合は、それについてあまり知りません。