首页 > 解决方案 > 多个 RewriteCond 基于具有相同页面相同参数的查询字符串

问题描述

这是我的 htaccess 代码:

RewriteCond %{THE_REQUEST} ^(GET)\/site\/oldpage\.asp/\?id=(.*)&tid=(.*)\ HTTP
RewriteRule ^/newfolder/main/newpage-%2/#post-%1? [L,R=301]

RewriteCond %{THE_REQUEST} ^(GET)\/site\/oldpage\.asp/\?id=(.*)\ HTTP
RewriteRule ^/newfolder/main/newpage-%1/? [L,R=301]


`http://olddomain.com/site/oldpage.asp?id=32`
`http://olddomain.com/site/oldpage?id=677&tid=32`

结果仅适用于第一个参数并将我重定向到

我的目标是得到这个网址:

如果只有id那么 http://olddomain.com/main/newpage-32/

如果idtidhttp://olddomain.com/main/newpage-32/#post-677

没有任何查询字符串

我现在得到的是:

idtid结果 都是http://olddomain.com/main/newpage-677/?id=677&tid=32

如果我只发送id我会得到 http://olddomain.com/main/newpage-32/?id=32工作,但最后会使用查询字符串

知道如何解决吗?

标签: .htaccessurl-rewriting

解决方案


推荐阅读