私は自分のウェブサイトにいくつかのmod_rewriteルールを実装しましたが、それらはすべて完全に機能します。ただし、私のWebホスティングアカウントは、メインサイトのディレクトリのサブフォルダーにファイルを配置することにより、1つのアカウントで複数のドメインをサポートしています。
私のmod_rewriteルールは、これらのアドオンドメインに干渉しているようです。ルールをメインドメインだけに制限する方法を知っている人はいますか。また、サブフォルダーに新しい.htaccessファイルを追加して、アドオンドメインごとに個別の書き換えルールを設定することもできます。
これが私の.htaccessファイルです:
ErrorDocument 400 /?error=400
ErrorDocument 401 /?error=401
ErrorDocument 403 /?error=403
ErrorDocument 404 /?error=404
ErrorDocument 500 /?error=500
RewriteEngine on
RewriteRule \.(css|jpe?g|gif|png)$ - [L]
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteRule ^([^/\.]+)/?$ index.php?content=$1 [L,QSA]
RewriteRule ^news/page/([0-9]+)/$ index.php?content=news&page=$1 [L,QSA]
RewriteRule ^news/([0-9]+)/([^/\.]+)/?$ index.php?content=news&id=$1&ptitle=$2 [L,QSA]
RewriteRule ^photos/page/([0-9]+)/$ index.php?content=photos&page=$1 [L,QSA]
RewriteRule ^photos/gallery/([0-9]+)/$ index.php?content=photos&gallery=$1 [L,QSA]
RewriteRule ^photos/gallery/([0-9]+)/page/([0-9]+)/$ index.php?content=photos&gallery=$1&page=$2 [L,QSA]
RewriteRule ^music/release/([0-9]+)/([^/\.]+)/?$ index.php?content=music&release=$1&ptitle=$2 [L,QSA]
RewriteRule ^edit_news/([0-9]+)/$ index.php?content=post_news&id=$1 [L,QSA]
RewriteRule ^download/(.*)?$ media/downloads/$1 [L]