3

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

旧域名.com > 新域名.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]
4

1 回答 1

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]
于 2012-10-27T02:36:49.910 回答