bluehost に自分の Web サイトの本番コピーとテスト コピーがあります。各 Web サイトは public_html フォルダー内の独自のディレクトリにあり、1 つは prod という名前で、もう 1 つは test という名前です。ここのbluehostの知識ベースによると:https://my.bluehost.com/cgi/help/347 htaccessファイルをセットアップして、public_htmlフォルダーに入ってくるリクエストを私のprodフォルダーに書き換えます。これはこれまでのところかなりうまく機能しています。最近気付いたのは、これらの書き換え設定で、メインの Web サイト フォルダー内の別のディレクトリ (例: /prod/testfolder) から Web サイト ファイルを読み込もうとすると、最後にスラッシュを付けずに www.mysite.com/ にリダイレクトされることでした。 www.mysite.com/testfolder にとどまらず、prod/testfolder/ に移動します。この状態は、次のように余分なスラッシュを指定した場合には発生しません.... www.mysite.com/testfolder/
これが私の書き換えルールです:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteCond %{REQUEST_URI} !^/prod/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /prod/$1
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteRule ^(/)?$ prod/index.php [L]
私は htaccess を使用して URL を書き換えることに関しては専門家ではありませんが、書き換えルールの最初のチャンクが原因であると思われます。ところで、これが違いを生む理由の例は、私がこのサイトにブログをセットアップし、www.mysite.com/blog のブログにアクセスしようとすると、www.mysite.com/prod/blog/ にリダイレクトされ、そもそも htaccess を使用して prod フォルダーをマスクする目的。これを修正する方法と、なぜそれが起こっているのかを説明できる人はいますか? ありがとうございました!