0

すべての訪問者を非 www から www にリダイレクトしようとしていますが、これは現在経由で行われています

RewriteEngine On
RewriteCond %{http_host} ^mysite.com
RewriteRule ^(.*) http://www.mysite.com/$1 [R=301,L]

しかし、特定のページを www から非 www にリダイレクトする強制例外が必要です...

RewriteRule ^/?$ exception.html [L]唯一の解決策ですか?

4

2 に答える 2

1

ページが非 www からリダイレクトされるのを防ぎたい場合は、リダイレクトするルールの前に書き換えルールを設定する必要があります。

オプション [L] は、次のルールがチェックされないようにします。

RewriteEngine On 

RewriteCond %{http_host} ^mysite.com 
RewriteRule ^exception\.html$ exception.html [L]

RewriteCond %{http_host} ^mysite.com 
RewriteRule ^(.*) http://www.mysite.com/$1 [R=301,L]

これがお役に立てば幸いです

于 2013-03-06T18:17:02.083 に答える
0

これを試して:

www.mysite.com/exception.html にリダイレクト -> mysite.com/exception.html (オプション)

www.mysite.com/exception.html を mysite.com/exception.html にリダイレクトしたい場合にのみ、この RewriteRule を追加してください。

mysite.com から www.mysite.com へのリダイレクトの例外として exception.html のみが必要な場合は、このルールは必要ありません。

# Redirects www.mysite.com/exception.html to mysite.com/exception.html
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteRule ^exception.html$ http://%1/exception.html [R]

mysite.com にリダイレクト -> www.mysite.com

# Redirects mysite.com to www.mysite.com. We must add a condition to avoid an infinite redirect loop with exception.html
RewriteCond %{HTTP_HOST} ^(mysite\.com) 
RewriteCond %{REQUEST_URI} !^exception.html$
RewriteRule (.*) http://www.%1/$1 [R=301,L]
于 2013-03-06T18:28:51.827 に答える