我正在尝试将旧域(无论是否具有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]
答案 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]