.htaccessファイルには次のものがあります。
RewriteCond %{HTTP_Host} ^www\.aliasdomain\.com$ [OR]
RewriteCond %{HTTP_Host} ^aliasdomain\.com$
RewriteRule ^(.*)$ http://www.maindomain.com/subdir1/subdir2/index.html [R]
ブラウザでは、aliasdomain.com
がindex.html
ファイルにアクセスし、aliasdomain.com
として表示されるようにします。
ただし、次のように完全なURLとして表示されます。http://www.maindomain.com/subdir1/subdir2/index.html
ブラウザでaliasdomain.com
を維持するためにリクエストを内部的に書き換える必要があり、現在行っているように外部的にリダイレクトする必要はありません。 ..
RewriteRule
置換からプロトコル/ホストを削除して、ルート相対パスのみを残し、R
(リダイレクト)フラグを削除します。置換のプロトコル/ホストは、外部リダイレクトを強制します。
RewriteCond %{HTTP_Host} ^(www\.)?aliasdomain\.com$
RewriteRule ^$ /subdir1/subdir2/index.html [L]
RewriteRule
ディレクティブの^$
パターンは、ドメインルート(つまり、http://aliasdomain.com/
またはhttp://www.aliasdomain.com/
)へのリクエストのみがhttp://aliasdomain.com/every/possible/url
ではなく、新しいURLに書き換えられることを保証します(以下のコメントを参照)。
aliasdomain.com
はmaindomain.com
のdomain aliasであるため、両方のドメインを介してサイト全体にアクセスできます。彼らは同じ場所を指しています。これは、上記の書き換えルールが依存しているものです。内部で別のホストに書き換えることはできません。したがって、上記のRewriteRule
はaliasdomain.com
からファイルを提供します。