首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向查询字符串: mod_rewrite提供404错误,但测试人员显示(几乎)正确

重定向查询字符串: mod_rewrite提供404错误,但测试人员显示(几乎)正确
EN

Stack Overflow用户
提问于 2018-01-25 11:12:38
回答 1查看 43关注 0票数 0

我正在尝试执行一个查询字符串重定向到一个更友好的url。这是在WordPress内部,但我试图在htaccess中执行mod_rewrite (我正在添加一个额外的规则,没有触及任何WordPress规则)

这是我想要的url: localhost/site/events/term-1/term-2/term-3

这是实际的url: localhost/site/events/?tax_1=term-1&tax_2=term-2&tax_3=term-3

下面是我使用的代码:

代码语言:javascript
复制
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /site/
  RewriteRule ^events/([^/]*)/([^/]*)/([^/]*)$ events/?tax_1=$1&tax_2=$2&tax_3=$3 [QSA,L]
 </IfModule>

... WordPress rules here ...

这给了我一个404错误当我去这里: localhost/site/events/term-1/term-2/term-3 (但是我已经检查过了,localhost/site/events/?tax_1=term-1&tax_2=term-2&tax_3=term-3已经到了正确的位置)。我在apache错误日志中没有任何错误。

当我在http://htaccess.mwl.be/上测试规则时,我从上面的输入中得到了这个结果:

3=term-3

这似乎是一个编码问题,但我对这些输入和输出的编码所做的所有研究似乎都不太可能,我想知道这是否是测试人员的问题。

有人能指出我哪里出错了吗?我一直在搜索mod_rewrites文档,我觉得我的规则写得很正确。可能是apache的设置吗?还是和WordPress发生冲突?

谢谢

在规则中添加NE标志的编辑现在在测试器中给出了正确的结果,但我仍然在实际服务器上获得404结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-26 13:55:57

我还没有从技术上解决我的问题,但是通过使用WordPress重写规则而不是mod_rewrite,我获得了所需的特性。

对于其他查看此内容的人,我将其添加到函数文件中:

代码语言:javascript
复制
function custom_rewrite_rule() {
  add_rewrite_rule('^events/([^/]*)/([^/]*)/([^/]*)/?','index.php?page_id=PAGE_ID_OF_EVENTS_PAGE&tax_1=$matches[1]&tax_2=$matches[2]&tax_3=$matches[3]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);

function custom_rewrite_tag() {
  add_rewrite_tag('%tax_1%', '([^&]+)');
  add_rewrite_tag('%tax_2%', '([^&]+)');
  add_rewrite_tag('%tax_3%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);

不需要链接到permalink事件/,而是需要使用页面所在位置的指定post id将其发送到index.php,因为其他自定义重写不会首先运行,因此WordPress将不知道什么事件/意思。

第一个函数添加重写规则并将其连接到初始化中。第三个参数指定规则何时在运行的规则列表中运行--它必须在顶部,就好像它是底部一样,它不会运行。

第二种方法将查询vars添加为标记,这样WordPress就可以知道定制的查询变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48441513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档