这是我的.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
我刚开始编写此类配置,所以我不知道该怎么办。
答案 0 :(得分:0)
结果是,查询参数已经传递。我通过使用.php
文件发现了它。但是我的代码仍然无法获取查询字符串。
原因是当Flask应用程序作为CGI应用程序运行时,查询参数作为环境变量传递。因此,为了获得它们,我不得不使用os.environ.get('QUERY_STRING')
。