htaccess重写(旧域到新域www和非www)

时间:2012-10-27 02:03:36

标签: wordpress .htaccess redirect rewrite

我正在尝试将旧域(无论是否具有www前缀)重定向到没有www的新域。 e.g:

olddomain.com> newdomain.com

www.olddomain.com> newdomain.com

我已经知道非www的重定向正在运行,但如果使用www,域名不会重定向。

这是在Wordpress网站上,所以我也包括Wordpress使用的位。

RewriteEngine On
RewriteBase /

# ### Begin custom domain redirect ###
RewriteCond %{HTTP_HOST} ^www\.olddomain.com\.com$ [NC]
RewriteRule ^.*$ http://newdomain.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^.*$ http://newdomain.com%{REQUEST_URI} [R=301,L]
# ### End custom domain redirect, back to the standard WP stuff ###

RewriteRule ^/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

1 个答案:

答案 0 :(得分:3)

尝试:

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

将使用和不使用www来处理传入的URL。

RewriteBase /移到WP块之上;它可能导致问题出错。

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]