htaccess重定向到/博客从所有位置删除www

时间:2011-07-07 17:08:42

标签: apache wordpress .htaccess

我在/blog上有一个wordpress博客,配置为在没有www的情况下运行。所以博客网址是:http://domain.com/blog/

我需要重定向所有流量:

www.domain.com
domain.com
www.domain.com/*
domain.com/*
www.domain.com/blog/
www.domain.com/blog/*

这样根就可以访问博客和任何www。已被添加或配置错误的内容将被删除。

我似乎无法在根//blog/中配置.htaccess文件。

1 个答案:

答案 0 :(得分:0)

这些规则应该可以胜任(尽管我需要进行一些REAL测试,因为我只是在模拟所有的URls):

RewriteEngine On
RewriteBase /

# add trailing slash in /blog if absent 
RewriteRule ^blog$ http://domain.com/blog/ [NC,QSA,R=301,L]
# redirect to /blog/ on domain.com
RewriteCond %{HTTP_HOST} =domain.com
RewriteRule ^(?!blog/?)(.*)$ http://domain.com/blog/$1 [NC,QSA,R=301,L]
# redirect to /blog/ on www.domain.com
RewriteCond %{HTTP_HOST} =www.domain.com
RewriteRule ^(blog/)?(.*)$ http://domain.com/blog/$2 [NC,QSA,R=301,L]

如果某个网址没有重定向,请告诉我(完整网址),以便我可以查看。