Rus*_* C. 2 parameters perl post cgi get
在向我们的网站perl脚本提交表单时,我遇到了mod_rewrite的问题.如果有人在带有url的页面上执行GET请求http://www.example.com/us/florida/page-title,我会使用以下重写规则重写该命令,该规则可正常工作:
RewriteRule ^us/(.*)/(.*)$ /cgi-bin/script.pl?action=Display&state=$1&page=$2 [NC,L,QSA]
现在,如果该页面上有一个表单,我想对同一个URL进行表单发布,并让Mod Rewrite使用相同的重写规则来调用相同的脚本并调用相同的操作.但是,正在发生的是重写规则被触发,正在调用正确的脚本并且正在发布所有表单POST变量,但是,重写的参数(此示例中的操作,状态和页面)未被传递给Perl脚本.我正在使用相同的Perl代码访问这些变量以获取GET和POST请求:
use CGI;
$query = new CGI;
$action = $query->param('action');
$state = $query->param('state');
$page = $query->param('page');
Run Code Online (Sandbox Code Playgroud)
我包括了QSA标志,因为我认为可以解决问题,但事实并非如此.如果我直接对脚本URL进行POST,那么一切正常.我很感激任何帮助,找出为什么目前没有这个工作.提前致谢!