現在、URL を example.com?node=home から example.com/home に、example.com?node=gallery&id=56 から exmaple.com/gallery/56 に書き換える htaccess ルールがあります。また、リンク、css スタイルシート、写真などのディレクトリ パスが修正され、Web ページ自体が正しくリンクされています。これですべてが正常に機能するようになりました。example.com などにアクセスしようとすると問題が発生します。 /filename.jpg の場合、filename.jpg は、ディレクトリに移動するのではなく、読み込もうとするページであると考えています。では、どうしてそうなったのでしょうか。どうすればこれを修正でき、htaccess ルールを正常に機能させることができますか?
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
## If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f [OR]
## If the request is for a valid link
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/([^/]+)/?$ index.php/?node=$1&id=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ index.php/?node=$1 [L,QSA]
今、私は index.php ページにも持っています:
<base href="http://www.mysite.com">