web-dev-qa-db-ja.com

htaccessを介してルートとルートのみをリダイレクトする方法は?

ルートのみを別のURLにリダイレクトしたいが、それらが属するすべての/ sub/directoriesを維持したい(そしてリダイレクトしたい)

例:

mysite.com/1はどこかにリダイレクトしますmysite.com/adminはページを開きます

mysite.com/をmysecondsite.comにリダイレクトして、htaccessを使用してこれを301リダイレクトするだけです

53
jardel

これを試して:

RewriteEngine on
RewriteCond %{HTTP_Host} mysite\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ http://mysecondsite.com/ [L,R=301]

古いドメインを確認する必要がない場合(たとえば、.htaccessが置かれているディレクトリが古いドメインでのみ使用されている場合)、2行目を削除できます。

75
Rodrigo Sieiro

「/」を別のドメインにリダイレクトするだけの場合は、次のように機能します。

RewriteEngine on
RewriteRule ^$ http://www.example.com/ [R=301,L]

これは、ドメインのルートにのみ一致し、その後には何もないため、ファイル名を指定せずにドメイン名のみをリダイレクトします。

38
Dave Forgac

これはうまくいくはずです:

RedirectMatch 301 ^/$ https://example.com/
15
stefanbc