我需要重写一些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]
之前重写了
感谢任何帮助。感谢。
答案 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}}