如何解决.htaccess删除查询参数
这是我的.htaccess
文件:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /path/to/app.cgi/$1 [QSA]
它可以工作,我的CGI应用程序收到请求。但是问题在于它没有获取查询参数。例如:如果我请求www.example.com/foo?bar=0
,则CGI应用只会收到www.example.com/foo
。 ?bar=0
被删除。
我需要的是,当我在浏览器中点击www.example.com/foo?bar=0
时,应用会收到www.example.com/foo?bar=0
,而不是www.example.com/foo
。
我的服务器设置:
文件结构:
-
www/
-
project/
-
app.cgi
- 其他文件
-
-
.htaccess
-
我刚开始编写此类配置,所以我不知道该怎么办。
解决方法
结果是,查询参数已经传递。我通过使用.php
文件发现了它。但是我的代码仍然无法获取查询字符串。
原因是当Flask应用程序作为CGI应用程序运行时,查询参数作为环境变量传递。因此,为了获得它们,我不得不使用os.environ.get('QUERY_STRING')
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。