.htaccess删除查询参数

时间:2020-10-25 11:18:23

标签: .htaccess flask mod-rewrite cgi

这是我的.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

我的服务器设置:

  • nginx
  • python
  • 烧瓶
  • mysql

文件结构:

  • www/
    • project/
      • app.cgi
      • 其他文件
    • .htaccess

我刚开始编写此类配置,所以我不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

结果是,查询参数已经传递。我通过使用.php文件发现了它。但是我的代码仍然无法获取查询字符串。

原因是当Flask应用程序作为CGI应用程序运行时,查询参数作为环境变量传递。因此,为了获得它们,我不得不使用os.environ.get('QUERY_STRING')