1

私はドメイン名www.domainA.comを持っています。次の方法でそれをdomainBにリダイレクトしたいと思います。

www.domainA.com-> www.domainB.com
www.domainA.com/anything->www.domainB.com/rebrand

htaccessでこれを行うには、次のコードを実行しましたが、リダイレクト/rebrand/のみになります。

RewriteCond %{REQUEST_URI} ^\/
RewriteRule ^\/$ http://www.domainB.com/ [L,R=301]

RewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
RewriteRule ^(.*)$ http://www.domainB.com/rebrand/ [L,R=301]
4

2 に答える 2

2

htaccessファイルのルールを通過するURIは、先頭のスラッシュが削除されているため、一致させることはできません。2番目のルールで/は、最初のルールが適用されておらず、正規表現が何でも一致するか、まったく一致しないため、リクエストと一致しています。これを修正するには、次のように変更*+ます。

RewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
RewriteRule ^/?$ http://www.domainB.com/ [L,R=301]

RewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
RewriteRule ^(.+)$ http://www.domainB.com/rebrand/ [L,R=301]
于 2012-10-20T12:21:27.297 に答える
0

htaccess を介したリダイレクトは難しい場合があります。これを実装するには多くの方法がありますが、私にとっては簡単な方法が 1 つあります。

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule (.*) [newdomain.com...] [R=301,L]

詳細については、ウェブマスター ワールド フォーラムから入手できます。

于 2013-03-26T22:42:32.753 に答える