ルートのみを別のURLにリダイレクトしたいが、それらが属するすべての/ sub / directoriesを維持する(およびリダイレクトする)
例:
mysite.com/1は、mysite.com / adminがページを開くどこかにリダイレクトします
mysite.com/がmysecondsite.comにリダイレクトし、htaccessを使用した301リダイレクトでのみこれが必要です。
ルートのみを別のURLにリダイレクトしたいが、それらが属するすべての/ sub / directoriesを維持する(およびリダイレクトする)
例:
mysite.com/1は、mysite.com / adminがページを開くどこかにリダイレクトします
mysite.com/がmysecondsite.comにリダイレクトし、htaccessを使用した301リダイレクトでのみこれが必要です。
回答:
これを試して:
RewriteEngine on
RewriteCond %{HTTP_HOST} mysite\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ http://mysecondsite.com/ [L,R=301]
古いドメインを確認する必要がない場合(たとえば、.htaccessが配置されているディレクトリが古いドメインでのみ使用されている場合)、2行目を削除できます。
RewriteRule
パターン内のURLパスをチェックする方が効率的です(@DaveForgacの答えのように)。REQUEST_URI
「/」を別のドメインにリダイレクトするだけの場合、これは機能します。
RewriteEngine on
RewriteRule ^$ http://www.example.com/ [R=301,L]
これは、ドメインのルートに一致し、その後に何もありません。そのため、ファイル名を指定せずにドメイン名のみをリダイレクトします。
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
マッチが正確なホストのためだったことを確認するために