返回非www主页的404,并将其他页面重定向到www

时间:2016-04-24 17:44:52

标签: .htaccess redirect url-rewriting

我想为非www域的主页返回404并重定向其他页面,例如我喜欢http://example.com以给出404错误但重定向

http://example.com/ahttp://example.com/bhttp://example.com/chttp://www.example.com/ahttp://www.example.com/bhttp://www.example.com/c

如何使用.htaccess

执行上述操作

2 个答案:

答案 0 :(得分:1)

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

请试试这个

答案 1 :(得分:0)

您可以在root / .htaccess中使用以下代码:

RewriteEngine on

##1)Redirect "non-www/a|b|c" to "www/a|b|c"##
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(a|b|c)/?$ http://www.example.com/$1 [NE,L,R]
##2)redirect any other non-www requests to 404##
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ - [R=404,L]

或者

RewriteEngine on

##1)Redirect "non-www/homepage to 404##
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^$ - [L,R=404]
##2)redirect any other non-www requests to www##
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.example.com%{REQUEST_URI} [NE,R,L]