2

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

这是我到目前为止所得到的(使用特定页面进行测试,而不是 anypage/page/anytab:

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

这个重写只是给了我一个 404 错误但是,我知道正则表达式,至少是通过了,因为如果我将重写更改为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]

任何帮助表示赞赏。谢谢。

4

1 回答 1

0

我感觉它与wordpress有关?

可能是这样,而且我确信 wordpress 有一些内部方法可以使用他们的重写 API 和(可能)post_rewrite_rules 钩子来处理它。(更多信息在wordpress 堆栈交换

但是,如果这不起作用,您可以随时尝试使用该P标志在内部代理请求,以便REQUEST_URIwordpress 的控制器看到的是在 之后没有所有东西的那个/page/(这很可能是导致 wordpress 呕吐的原因)。

RewriteRule ^community-alumni/conference-services/page/(.*)$ /community-alumni/conference-services/?pagetab=$1 [L,P]
于 2013-10-23T16:45:10.113 回答