0

私のルート フォルダーには、ホーム ディレクトリがあります。mydomain.com または www.mydomain.com へのすべてのリクエストを home.mydomain.com に転送したいと考えています。私の cPanel では、サブドメイン home.mydomain.com が mydomain.com/home を指すように設定済みです。

.htaccess ファイルに現在あるものは次のとおりです。

RewriteEngine On
Options +SymLinksIfOwnerMatch
RewriteRule ^(.*)$ \/home\/$1 [L]

これにより、mydomain.com と www.mydomain.com がそれぞれ mydomain.com/home または www.mydomain.com/home に正常に転送されます。しかし、mydomain.com/home/filename でファイルを提供するのではなく、home.mydomain.com/filename で内部サーバー エラーが発生します。

4

1 に答える 1

1

正確な要件を理解しているかどうかはわかりませんが、すべての (www.)mydomain.com リクエストを /home ディレクトリに書き換えたいようですが、サブドメイン home.mydomain.com はすでにそのディレクトリを指しているため、除外する必要がありますその書き換えディレクティブから。何らかの理由で (www.)mydomain.com も /home を指すように設定できない場合は、次のような書き換え条件が必要になります。

RewriteEngine On
Options +SymLinksIfOwnerMatch
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^(.*)$ /home/$1 [L]

不要なバックスラッシュも削除しました。htaccess テスターを使用すると、書き換えルールをオンラインで簡単に確認できます。

于 2012-05-19T19:02:25.353 に答える