删除 RewriteRule 之后的残留结束字符串

删除 RewriteRule 之后的残留结束字符串

我已经尝试了所有方法,但似乎就是无法解决问题 :( 我有超过 800 个 URL,我需要重写它们以指向一个简单的 pdf 文件。目前,我有以下链接:

http://subdomain.mydomain.com/?type=pdf&id=id123
http://subdomain.mydomain.com/?type=epub&id=id123

我需要这个:

http://subdomain.mydomain.com/pdf/id123.pdf
http://subdomain.mydomain.com/epub/id123.epub

我已阅读了 htaccess 和 rewriterule 参考页面,但我仍然遗漏了一些东西。我无法删除结尾字符串 (?type=pdf&id=id123)

这就是我所拥有的:

RewriteCond %{QUERY_STRING} ^type=pdf&id=(.*)$ 
RewriteRule /?$ pdf/%1.pdf

当然,它会错误地输出:

 http://subdomain.mydomain.com/pdf/id1234.pdf?type=pdf&id=id123

我无法摆脱类型=pdf&id=id123在最后

任何正确的帮助都将不胜感激。

答案1

尝试添加标志查询字符串丢弃 [QSD]

RewriteRule /?$ pdf/%1.pdf [QSD]

相关内容