我正在使用 .htaccess 文件将我存档的旧 aspx url 重定向到我的新 php 站点。现在要求如下: example.com/showad.aspx?adid=1234 应该是 example.com/ad/getad/1234 我google了一下,得到了以下htaccess规则:
RewriteCond %{QUERY_STRING} ^adid=(\d+)$
RewriteRule ^showad\.aspx$ /ad/getad/%1
该规则有效,除了生成的 url 是 example.com/ad/getad/1234?adid=1234 我再次搜索并了解到要删除输出 url 末尾的 (adid=1234) 你应该放置一个问号?在替换参数的末尾,因此规则应为:
RewriteCond %{QUERY_STRING} ^adid=(\d+)$
RewriteRule ^showad\.aspx$ /ad/getad/%1?
但它不起作用!结果 url 仍然附加了原始查询字符串。我正在使用这个站点来测试我的 htaccess 规则:htaccess.madewithlove.be 任何线索为什么会发生这种情况?