【发布时间】:2021-09-18 23:06:18
【问题描述】:
我被卡住了,即使阅读大量论坛帖子也没有帮助。
挑战: 我需要重写 URI 并维护查询
示例 1:
example.com/test/23/result/7
应重定向到下的脚本
example.com/test/
这样的 .htaccess 条目效果很好:
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^test/(.+)$ test/?s=$1
URI 显示不变。调用的脚本被调用,附加的子目录定义可以在 PHP 中通过变量 $_GET['s'] 或 $_SERVER['REQUEST_URI'] 检索。到目前为止一切都很好。添加查询字符串时问题开始:
示例 2:
example.com/test/23/result/7?id=16
应重定向到下的同一脚本
example.com/test/?id=16
即使我将 [QSA] 添加到重写规则,URI 也无法正确解析。我尝试了几种方法来启动重定向。都失败了。重定向要么指向不存在的地址,要么查询字符串丢失。除了初始 URI 子目录信息之外,我还需要在我的脚本中评估查询字符串。两条数据都需要传输给它。
有人有解决办法吗?
非常感谢您分享您的专业知识!
【问题讨论】:
标签: .htaccess redirect mod-rewrite url-rewriting query-string