我有一个重写问题。它让我疯狂。我在worpdress中创建了一个新网站。我想将旧网址(在谷歌中)重定向到新网址。除了以下网址(旧网址中有一个加号)
之外,其工作正常www.domain.com/slugname/this+is+a+slug
必须改写为:
www.domain.com/slugname/this-is-a-slug
如何替换破折号的加号(.htacces?add_rewrite_rule?)
Sombody有示例代码吗?
我在worpdress中试过.htacces一个add_rewrite_rule,但我还不够聪明;)
答案 0 :(得分:1)
如果您乐意按照每个网址单独执行此操作,那么.htaccess
文件中的以下内容(文件拼写正确非常重要)应该有效:
RewriteRule ^oldpage$ http://www.example.org/newpage? [R=301,L]
所以你的例子可能是:
RewriteRule ^slugname/this+is+a+slug$ http://www.example.org/slugname/this-is-a-slug? [R=301,L]
规则的R=301
部分使重定向成为永久性,我认为这是期望的效果。删除此选项会使重定向成为302
,这称为临时。
如果您要将所有+
替换为网址中的-
,则可以使用通用声明:
RewriteRule ^(.*)+(.*)$ /$1-$2 [L,R=301]
答案 1 :(得分:0)
WordPress中有一个名为Redirection的插件,可让您将旧链接重定向到新链接。尝试在.htaccess中执行此操作需要花费很多麻烦。您可以在插件上使用正则表达式。 安装完成后,可以在工具菜单下找到该插件。