0

我正在使用 .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 任何线索为什么会发生这种情况?

4

2 回答 2

0

你的规则很好 - 我只是在我自己的 .htaccess 中测试了它。这是错误的htaccess测试器网站:)

于 2012-05-15T20:24:06.753 回答
0

尝试将您的规则更改为

RewriteRule ^showad\.aspx$ /ad/getad/%1? [R=302,L]
于 2012-05-15T19:57:41.380 回答