在.htaccess中使用301规则重定向

时间:2010-05-24 19:11:41

标签: .htaccess redirect

我遇到从example.com(到)www.example.com重定向页面的问题

我的代码是:

  RewriteEngine on

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

它没有用,有什么帮助吗?

3 个答案:

答案 0 :(得分:2)

您需要做的就是强制域名的www版本?就这样做......

# Force www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

答案 1 :(得分:0)

这是我的重写看起来的样子,并且有效:

## REWRITE RULES
# enable rewrite
RewriteEngine On
RewriteBase /

# enforce a specific domain in the url
RewriteCond %{HTTP_HOST} !^www\.sub\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.sub.domain.com/$1 [R=301,NC,L]

此规则会将任何非www.sub.domain.com的内容重定向到www.sub.domain.com

答案 2 :(得分:0)

更新:根据你的评论It does not redirect and it gives me the openDNS page,我认为你的问题不是(还是?)mod_rewrite。

尝试在Options +FollowSymlinks之前添加RewriteEngine On,然后在RewriteBase /之后添加RewriteEngine On

我建议您阅读找到hereFatal Redirectionrewrite logging部分。

您可以启用mod_rewrite调试以查看正在发生的事情(如果有的话):

RewriteLog "/tmp/rewrite.log"`
RewriteLogLevel 5