如何在wordpress永久链接URL中重写查询字符串的路径?

时间:2013-10-23 16:02:20

标签: wordpress apache mod-rewrite url-rewriting permalinks

我需要重写一些wordpress永久链接,以便site.ca/anypage/page/anytab重写为site.ca/anypage/?pagetab=anytab。我已经尝试了一堆我认为应该正常工作的重写但是wordpress只是给了我一个完整输入URL的404(而不是正确的查询字符串页面)。

这是我到目前为止所做的事情(使用特定页面进行测试,而不是任何页面/页面/任何选项卡:

RewriteRule ^community-alumni/conference-services/page/(.*)$ community-alumni/conference-services/?pagetab=$1 [L]

这个重写只是给了我一个404错误但是,我知道Regex,至少是通过,因为如果我将Rewrite更改为R=301,L重定向,那么页面会重定向到查询字符串页面并提取适当的内容,即:

RewriteRule ^community-alumni/conference-services/page/(.*)$ community-alumni/conference-services/?pagetab=$1 [R=301,L]

重定向到community-alumni/conference-services/?pagetab=summer-hotel并提取页面内容。因此,我无法理解为什么重写应该与查询字符串URL相同的内容拉动404 - 我有一种感觉它与wordpress有关?在wordpress .htaccess中,我在RewriteBase之后和RewriteRule ^index\.php$ - [L]之前重写了

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

  

我觉得它与wordpress有关吗?

它可能是,并且我确定有一些内部的wordpress方法使用它们的重写API和(可能)post_rewrite_rules钩子来处理它。 (更多信息请见wordpress stack exchange

但是如果这不起作用,你总是可以尝试P标志在内部代理请求,以便wordpress'控制器看到的REQUEST_URI/page/之后没有所有东西的RewriteRule ^community-alumni/conference-services/page/(.*)$ /community-alumni/conference-services/?pagetab=$1 [L,P] {1}}(这很可能是导致wordpress呕吐的原因)。

{{1}}