querystring参数在友好url上的位置



我不知道为什么这在这个htaccess规则中不起作用:我希望友好的url可以获得2个querystring参数,并且它运行良好,但问题是每个参数在querystring中的位置。

我不知道2美元和3美元的确切位置。

这是要尝试的url。。。http://myweb.com/ferrari-testarossa-car-id460?aa=red&bb=轿跑车

这是我的规则。。。

RewriteRule ^[A-Za-z0-9-+.]+-id([0-9]{1,5})[?]?([a-z0-9-_]*[=]?[a-z0-9]*[.]?[a-z0-9]*)&([a-z0-9-_]*[=]?[a-z0-9]*[.]?[a-z0-9]*)$ car-profile.php?idModel=$1&$2&$3 [QSA,L]

我需要像这样传递密钥和值(两者都在一起(aa=红色";y">bb=轿跑车";到目标url为$2和$3

我该怎么做?

1000感谢

对于您显示的示例,您可以尝试以下操作吗。请确保在测试URL之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{THE_REQUEST} s/.*id=(d+)?aa=([^&]*)&bb=(.*)s [NC]
RewriteRule ^ car-profile.php?idModel=%1&%2&%3 [QSA,L]

最后。。。。。我明白了!

这是正确的正则表达式:

RewriteRule ^[A-Za-z0-9-+.]+-id([0-9]{1,5})?$ car-profile.php?idModel=$1 [QSA,L]

当我们把旗">[QSA]";,整个查询字符串将串联传递到$1参数,因此,在php页面中,您可以在典型的$get["param"]中获得每个值

示例:对于此输入url:

http://myweb.com/ferrari-testarossa-car-id460?bb=coupe&&aa=red

这将作为输出url:获得

http://myweb.com/car-profile.php?idModel=460?bb=coupe&&aa=red

这比我想象的要容易。

对每个人来说都很重要

相关内容

  • 没有找到相关文章

最新更新