Wordpress .htaccess 301 redirect或Rewriterule for plugin path

时间:2016-06-02 14:06:33

标签: regex apache .htaccess redirect mod-rewrite

非常简单,但对我来说非常困惑。我在wordpress上有一个插件,可以在链接中生成动态结果

www.mywebsite.com/testing/myname/1239812398123

我想用301将其更改为:

www.mywebsite.com/myname/1239812398123

请记住,/ 1239812398123将动态生成,因此总是不同。

我已经尝试过:

Redirect 301 /test/ /www.mywebsite.com/myname/

RewriteEngine On
RewriteRule ^test/myname/$ /myname/? [L,R=301]

但没有任何作用:(

谢谢!

3 个答案:

答案 0 :(得分:1)

当uri完全^test/myname/$它与/test/myname/匹配时,您的uri模式/test/myname/12389...匹配,修改您的规则如下:

RewriteEngine On
RewriteRule ^test/myname/([0-9]+)/?$ /myname/$1 [L,R=301]

答案 1 :(得分:0)

好的,我发现动态部分是字母和数字,所以我修改了代码:

  

RewriteEngine On RewriteRule ^ testing / myname /([a-z0-9] +)/ myname / $ 1   [L,R = 301]

它有效,但我也发现这会从插件中抛出一条错误信息 - 这条路径不存在。

是否可以仅更改主要部分,但如果有动态部分 - 不要做任何事情

所以情况如此:

  • 如果有人进入主要部分www.mywebsite.com/testing/myname/,则重写为www.mywebsite.com/myname/

  • 但如果有人进入动态部分www.mywebsite.com/testing/myname/123lkj123,则不会触发重写,因此它将保持不变www.mywebsite.com/testing/myname/123lkj123

由于

答案 2 :(得分:0)

我需要重写完全匹配,我尝试了zilions选项。不能想出来:(