带有额外重定向的非www到www

时间:2014-04-21 19:03:29

标签: linux .htaccess redirect url-redirection

我目前在我的htaccess文件中使用以下代码将所有非www重定向到我的服务器中托管的网站的www网址。

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

大多数网站都可以正常运行,但有些网站仍未向公众开放。

在这些网站中,我正在使用重定向到一个文件夹,其中包含“正在建设中的页面等等”

以下代码

rewritecond %{HTTP_HOST} ^www.mysite.com$ [OR]
rewritecond %{HTTP_HOST} ^mysite.com$
rewriterule ^mysite\/$ "http\:\/\/mysite\.com\/beta\/beta\.html" [R=301,L]

点是。当使用第二个重定向时,我在浏览器中得到一个循环并停止错误,我如何同时使用这两个重定向?

2 个答案:

答案 0 :(得分:0)

试试这种方式,

RewriteEngine On
RewriteCond %{REQUEST_URI} !=/beta\/beta\.html
RewriteCond %{HTTP_HOST} ^www.mysite.com$ [OR]
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^mysite\/$ "http\:\/\/mysite\.com\/beta\/beta\.html" [R=301,L]

答案 1 :(得分:0)

按正确顺序排列规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^mysite/?$ http://domain.com/beta/beta.html [R=301,L,NC]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule !^beta/beta\.html$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NC,NE]