次のようなディレクトリ構造があります。
public_html/
example.com/
index.php
subdir/
file.jpg
私は共有ホスティングを使用しているため、そのルートにhttp://example.com
マップされ、これを変更することはできません。/public_html/
この問題を処理するために mod_rewrite ルールを追加しました。
RewriteEngine On
RewriteRule ^$ example\.com/ [L]
RewriteRule (.*) example\.com/$1/ [L]
http://example.com/subdir
(末尾の なしで)参照すると、 file.jpg/
がリストされますが、その URL は になります。親ディレクトリのリンクは.http://example.com/file.jpg
http://example.com/example.com/
http://example.com/subdir/
(末尾に を付けて)を参照すると、 file.jpgが適切な URL: で/
一覧表示されます。ただし、親ディレクトリのリンクは.http://example.com/subdir/file.jpg
http://example.com/example.com/subdir/
何が起こっているのか非常に混乱しています。これについて何か助けていただければ幸いです。
/
( mod_rewrite ルールの finalhttp://example.com/subdir
を削除/
すると、バリアントにリダイレクトされhttp://example.com/example.com/subdir/
ます。また、リストの親ディレクトリが にhttp://example.com/subdir/
変更されhttp://example.com/example.com/
ます。これはほぼ正しいです。)