.htaccess 重写与 $_GET 参数冲突
因此,集成这个第三方跟踪服务,将 $_GET 参数传递到我们的产品页面。该页面在 .htaccess 中重写,并且传递以问号 (?) 开头的查询字符串,并且 $_GET 不会获取它,除非它是与符号 (&)。
这就是 htaccess 重写。
RewriteRule ^the-url/(.*?)/(.*?)/?$ /the-page.php?slug=$1/$2 [L]
这有效
http://www.site.com/the -url/someones-name/a-title&something=4
这不是(但我需要它。注意问号而不是&符号)
http://www.site.com/the-url/someones-name/a-title?something=4
谢谢
So, integrating this third party tracking service that passes a $_GET parameter to our product pages. The page is rewritten in .htaccess and they pass the query string starting with a question mark (?) and $_GET doesn't pick it up unless its an ampersand (&).
So this is the htaccess rewrite.
RewriteRule ^the-url/(.*?)/(.*?)/?$ /the-page.php?slug=$1/$2 [L]
This works
http://www.site.com/the-url/someones-name/a-title&something=4
This does not (but I need it to. Notice the question mark rather than ampersand)
http://www.site.com/the-url/someones-name/a-title?something=4
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想您必须使用
[QSA]
标志:如果设置了此标志,则将附加给定的查询字符串(QSA = 查询字符串附加),而不是删除。
I guess you have to use the
[QSA]
flag:If this flag is set, the given query string will be appended (QSA = Query-String Append), not removed.