You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress站点获取URL中r和s双参数的问题求助

解决WordPress中带特殊字符的URL参数触发404的问题

你的问题核心是s参数值里包含/、+这类特殊字符,WordPress的固定链接规则会把这些字符后的内容误判为URL路径的一部分,从而跳转到404页面,而不是把它当作查询参数处理。下面是几个可行的解决办法:

方法一:修改.htaccess规则强制解析参数

在站点根目录的.htaccess文件中,找到WordPress默认的Rewrite规则块,在RewriteRule ^index\.php$ - [L]之前,添加以下规则:

RewriteRule ^simplepay-cancel/?$ /simplepay-cancel/index.php [L]

这条规则会直接将/simplepay-cancel/路径指向对应的PHP文件,让服务器不再把参数里的特殊字符解析为路径部分。

方法二:注册合法的查询变量

在当前主题的functions.php文件中添加以下代码,把r和s注册为WordPress认可的查询变量:

add_filter('query_vars', 'add_custom_payment_vars');
function add_custom_payment_vars($vars) {
    $vars[] = 'r';
    $vars[] = 's';
    return $vars;
}

之后你就可以用WordPress的标准函数获取参数:

if (get_query_var('r') && get_query_var('s')) {
    echo 'Hello';
}

当然直接用$_GET['r']和$_GET['s']也能正常工作,但使用WordPress内置函数更符合开发规范。

方法三:临时切换固定链接模式

如果只是临时测试,可以在WordPress后台「设置」→「固定链接」里选择「朴素」模式(即类似?p=123的URL格式),这种模式下查询参数不会被误判,但会影响URL的美观性,适合快速验证问题。

注意事项

  • 修改.htaccess前一定要备份原文件,避免操作错误导致站点无法访问。
  • 如果站点使用了缓存插件,修改规则后需要清空缓存,确保新规则生效。

内容的提问来源于stack exchange,提问作者Márton Stark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:10:23