【发布时间】:2017-06-15 18:40:02
【问题描述】:
我已经在整个堆栈溢出中搜索了这个答案,但似乎找不到任何东西,所以我决定试一试并发布我的问题。
我有以下重写规则:
RewriteRule ^clients\/viewClients\/invoice\/\?id=([0-9]+)&invoice=([0-9]+)$ index.html
我希望它以这样的方式工作,当用户键入时
.../clients/viewClients/invoice/?id=28137&invoice=16884
进入浏览器,他或她被重定向到 index.html
我已经用一个正则表达式测试器测试了这个规则并且 url 通过了。
我很困惑,因为以下重写规则有效:
RewriteRule ^clients\/viewClients\/\?id=([0-9]+)$ index.html
当用户输入这个网址时:
../clients/viewClients/?id=28137
这两个规则的唯一区别是第一个在搜索查询中有一个额外的路径和一个额外的参数。
我希望有人可以为我澄清这个问题并为第一个重写规则提供解决方案
【问题讨论】:
-
您确定您的意思是
.html而不是.php?.html页面将无法处理该查询字符串。 -
我的意思是html,我只是希望用户现在被重定向回主页,我不会担心index.html上的查询字符串
-
@RiggsFolly 可以将 php 代码放在任何文件类型中。它只需要正确配置。
-
@Croises 是的!但这并不常见,如果这是正在做的事情,那么问题中确实应该提到它
标签: php apache .htaccess redirect mod-rewrite