「RewriteRule」リダイレクトの問題があります。 mt .htaccessには次のものがあります。
RewriteCond %{HTTP_HOST} ^foo.domain.com
RewriteRule ^(.*)$ http://www.domain.com/foo/$1 [R=permanent,L]
foo.domain.comにアクセスすると、www.domain.com/foo/にリダイレクトされます。ただし、foo.domain.com/barにアクセスするとエラーが発生し、www.domain.com/にアクセスする必要があります。 foo/bar。エラーはどこにありますか?
答え1
Apache(またはmod_rewrite)が無効な「Location:」ヘッダー行を作成している可能性があります。書き換えルールにスラッシュを追加します。
RewriteCond %{HTTP_HOST} ^foo.domain.com
RewriteRule ^/(.*)$ http://www.domain.com/foo/$1 [R=permanent,L]
スラッシュなしでこれを試みると、次のような「Location:」ヘッダー行が表示されますhttp://www.stratigery.com/foo//whatever
。すべてのブラウザがURLに追加のスラッシュを処理できるかどうかはわかりません。