.htaccess 添加301重定向到wp站点(使用现有规则)
我被要求将两个页面重定向到不同的url。它正在工作,但由于现有的WP重写规则,我在url末尾得到了一个尾随的反斜杠。我需要重定向这些页面,但对于不重定向的页面,保留WP规则不变。 以下是现有的WP规则:.htaccess 添加301重定向到wp站点(使用现有规则),.htaccess,.htaccess,我被要求将两个页面重定向到不同的url。它正在工作,但由于现有的WP重写规则,我在url末尾得到了一个尾随的反斜杠。我需要重定向这些页面,但对于不重定向的页面,保留WP规则不变。 以下是现有的WP规则: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f R
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
当我这样做时,它会重定向到:
新建url.com/tour.html/
后面的反斜杠导致了这个问题
我是一个彻头彻尾的新手。
谢谢
Matt这是mod_alias和mod_rewrite相互干扰的情况,因为它们都是URI文件映射管道的一部分,所以一旦mod_alias做了它的事情(重定向指令)并标记要重定向的URI,mod_rewrite就会做它的事情并重写URI。因此,在URI文件映射管道的末尾,有一个301重定向,但是URI被mod_rewrite破坏了 你可以坚持使用mod_rewrite,这样wordpress规则就不会被应用了。您还需要在wordpress规则之前添加重定向,因此在开始wordpress之前添加:
RewriteEngine On
RewriteRule ^/?old_url http://new_url/about.html [L,R=301]
RewriteRule ^/?old_url2 http://new_url/tour.html [L,R=301]
Jon,这几乎完美,但是第二条规则现在重定向到“关于页面”而不是“旅游页面”。这是因为我的第二个url包含第一个吗?它是这样的:simplegoodeats应该转到simplegoodeats.com/about.html,simplegoodeats/tour应该转到simplegoodeats.com/tour.htmlld url 2被重定向到它上面的规则。任何人都知道这是为什么。还是在这里被难住了。谢谢
RewriteEngine On
RewriteRule ^/?old_url http://new_url/about.html [L,R=301]
RewriteRule ^/?old_url2 http://new_url/tour.html [L,R=301]