301重定向不工作.htaccess

时间:2015-02-10 11:36:53

标签: wordpress .htaccess redirect mediatemple

我的.htaccess文件中有以下重定向代码:

# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain.com [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301,NC]
</IfModule>

# END WordPress

AddHandler php-stable .php

我尝试将所有流量从olddomain重定向到newdomain。并非新域名确实使用&#34; www&#34;。

当点击网上其他地方引用帖子的旧链接时,似乎确实发生了重定向,但它没有在域名后添加正确的斜杠。

以下是发生的事情,我的旧域名链接就是在网站上(仅由某人发布):

http://olddomain.com/some-blog-post/

当我在浏览器中点击该链接时,它实际上会打开:

http://www.newdomain.comsome-blog-post/

缺少域名和博客帖子之间的斜杠。

另外,如果它有助于我使用MediaTemple作为旧域的主机,并且我在

中修改我的.htaccess文件
domains/olddomain.com/html/.htaccess

有人有任何想法吗?非常感谢,我被困住了。

2 个答案:

答案 0 :(得分:0)

好的,我刚刚检查了一下,事实证明我上面粘贴的.htaccess代码一切正常。

我的网络浏览器正在积极缓存,我只需要转储缓存(或使用隐私浏览)。

有关更多调试提示,请参阅此处: Tips for debugging .htaccess rewrite rules

答案 1 :(得分:0)

也许这样更好:

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

它匹配子域和请求URI,并将它们与新域合并。如果没有子域,它将继续匹配请求,并将在没有子域的情况下重定向。