0
在目錄$HOME/public_html/test
中有兩個文件.htaccess
和query.cgi
。我想將xxx.cgi?yyy
轉換爲query.cgi?a=xxx&yyy
。RewriteRule以奇怪的方式工作
的.htaccess:
RewriteEngine on
RewriteRule ^(.*)\.cgi\?(.*)$ query.cgi?a=$1&$2
RewriteRule ^(.*)\.cgi$ query.cgi?b=$1
query.cgi(CGI檢查查詢):
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
my $query = $ENV{QUERY_STRING} ||= "no query";
print "Content-Type: text/html; charset=utf-8\n\n";
print "<html><body><p>". $query . "</p></body></html>";
的問題是:如果我訪問xxx.cgi?yyy
,則查詢b=query
。
我希望應用第一條規則,以便查詢是a=xxx&yyy
。但是第一條規則被忽略,第二條規則被應用,儘管由於正則表達式第二條規則不能被應用。