我需要得到路径的所有路径定义一个URL变量的querystring结束
www.root.com/path1/path2/path3/page?id=15&do=post
我可以得到变量的所有路径,但我不能得到查询字符串“id”和“do”
我的配置在这里
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
我需要得到路径的所有路径定义一个URL变量的querystring结束
www.root.com/path1/path2/path3/page?id=15&do=post
我可以得到变量的所有路径,但我不能得到查询字符串“id”和“do”
我的配置在这里
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
2条答案
按热度按时间7vhp5slm1#
我希望你的
QSA
标志的实现能像预期的那样工作。一个简单的htaccess tester证实了这一点(见底部的“新的url.然而,也有替代方案,你也可以主动捕获查询字符串。apache rewrite模块的文档明确指出,你需要一个
RewriteCond
来捕获请求URL的查询字符串。这可能会为你指明正确的方向:
这是一个简化的版本:
或者更简单,如果这对你来说足够了,因为你根本不需要捕获查询字符串:
taor4pac2#
感谢您的回复,它在htacess上运行得很好。我为nginx写了如下代码,它可以正常工作,但是页面加载了两次。当我删除下面的配置时,它恢复正常。
注意:我能够理解,通过创建一个随机名称的文件,页面被加载了两次。
=nginx配置=