繁体   English   中英

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

[英]How can I rewrite a path to a querystring in a wordpress permalink URL?

我需要重写一些wordpress永久链接,以便将site.ca/anypage/page/anytab重写为site.ca/anypage/?pagetab=anytab 我尝试了很多我认为应该可以进行的重写,但是wordpress只是在完整键入的URL(而不是正确的querystring'd页面)上给了我一个404。

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

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

此重写只是给我一个404错误,但是,我知道正则表达式,至少正在通过,因为如果我将Rewrite更改为R=301,L重定向,则该页面确实会重定向到querystring'd页面并拉出适当的页面内容,即:

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

重定向到community-alumni/conference-services/?pagetab=summer-hotel并提取页面内容。 因此,我看不到为什么应该与querystring的URL具有相同内容的重写才产生404-我感觉这与wordpress有关? 在wordpress .htaccess我在RewriteBase之后和RewriteRule ^index\\.php$ - [L]之前有此重写RewriteRule ^index\\.php$ - [L]

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

我有感觉与wordpress有关吗?

可能是这样,我敢肯定,使用它们的重写API和(可能是)post_rewrite_rules钩子,wordpress内部有一些内部方式来处理它。 (有关更多信息,请访问wordpress堆栈交换

但是,如果这样行不通,您总是可以尝试使用P标志在内部代理请求,以便wordpress的控制器看到的REQUEST_URI/page/之后没有所有内容的那个(很可能是导致wordpress的原因)呕吐)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM