0

我们已经使用以下代码成功地强制站点中的所有页面使用 WWW:

##### Redirect non-www to www -- BEGIN
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/TEST_SITE/$1 [R=301,L]
##### Redirect non-www to www -- END

但是我们的注册页面是一个例外,它必须使用不包含 WWW 的 URL。两天的测试和研究,我唯一能产生的就是错误和无限循环。有没有人建议强制所有页面到 WWW 除了这一页?

http://mysite.com/TEST_SITE/component/users/?view=registration

似乎它应该在一般的 WWW 重定向之前使用简单的重定向,但我在论坛中找不到类似的解决方案。我很感激任何想法......

4

2 回答 2

0

有没有人建议强制除这一页之外的所有页面到 WWWhttp://mysite.com/TEST_SITE/component/users/?view=registration是的,你可以。

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{QUERY_STRING} !view=registration
RewriteRule ^(.*) http://www.%{HTTP_HOST}/TEST_SITE/$1 [R=301,L]

只需添加一个新条件。

于 2013-04-02T18:45:06.467 回答
0
#strip www from registration page
RewriteCond %{HTTP_HOST} ^(www\.)(.+)$
RewriteCond %{QUERY_STRING} ^view=registration$ [NC]
RewriteRule ^TEST_SITE/component/users/$ http://%2%{REQUEST_URI} [L,R=301,NC]

# prevent adding www to registration page
RewriteCond %{QUERY_STRING} ^view=registration$ [NC]
RewriteRule ^TEST_SITE/component/users/$ %{REQUEST_URI} [L,NC]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/TEST_SITE/$1 [R=301,L]
于 2013-04-02T18:19:49.857 回答