Wordpress .htaccess是否将URL最后一部分重定向到相同的URL查询字符串值?

Wordpress .htaccess是否将URL最后一部分重定向到相同的URL查询字符串值?,wordpress,apache,.htaccess,redirect,Wordpress,Apache,.htaccess,Redirect,在我的wordpress站点中,我需要执行以下重定向 http://www.mydomain.com/magazine-landing/lon-mayf/至http://www.mydomain.com/magazine-landing/?code=lon-五月 这里lonmayf可以是任何东西 我在#END WordPress之后尝试了.htaccess文件中的以下代码,但它不起作用 RewriteEngine On RewriteRule ^magazine-landing/*$ www.m

在我的
wordpress
站点中,我需要执行以下重定向

http://www.mydomain.com/magazine-landing/lon-mayf/
http://www.mydomain.com/magazine-landing/?code=lon-五月

这里
lonmayf
可以是任何东西

我在
#END WordPress
之后尝试了
.htaccess
文件中的以下代码,但它不起作用

RewriteEngine On
RewriteRule ^magazine-landing/*$ www.mydomain.com/magazine-landing/?magcode=$1 [R=301,L]
我怎样才能重定向


谢谢。

重写规则按其出现的顺序执行。wordpress的规则匹配所有请求,因此它永远不会到达您的规则。除此之外,你的规则并没有真正做到你所描述的它应该做到的

将此规则置于wordpress规则上方,将置于
重写引擎下方

RewriteRule ^magazine-landing/([^/]+)/?$ /magazine-landing/?code=$1 [QSA,R,L]

完成测试后,将
R
标志替换为
R=301
,使其永久化。由于缓存的原因,使用永久重定向进行测试可能会产生意外的结果。

谢谢,但是
lon mayf
是动态文本。它可以是任何东西。哇,那我可以这么做吗?通过使用一个捕获组<代码>[^/]匹配除
/
字符以外的任何字符<代码>$1被替换为第一个捕获组。这就是工作。“完成后,用R=301替换R标志…”未清除此项。我应该什么时候做?只有R有问题吗?
R
是临时重定向。客户端现在被重定向的事实并不意味着它下次会重定向到同一个地方,或者根本不会重定向。出于性能原因,(有时)缓存永久重定向。它还告诉客户端将来使用新的url。我相信这与谷歌等搜索引擎有所不同。