我在CGI脚本的Apacheconfiguration文件中有以下configuration:
RewriteEngine on RewriteCond %{QUERY_STRING} !^/var/log/syslog-ng/JBoss.*$ RewriteRule ^/cgi-bin/(.*)$ /secure-cgi-bin/$1 [R=301,L,QSA]
这个想法是,如果有人使用CGI脚本来查看除/var/log/syslog-ng/JBoss之外的path,则应该通过安全的CGI脚本redirect它们。
现在我想改变RewriteCond以便在不通过安全CGI的情况下也可以查看第二条path。 第二个path是/var/log/syslog-ng/Tomcat 。
我如何去做这个改变?
你可以使用多行和[OR]标志,就像samarudge告诉你的那样,但是由于你只有稍微不同的path,所以提醒一下:ReWriteCond / Rule支持正则expression式,所以这样的格式也是可能的:
RewriteCond %{QUERY_STRING} !^/var/log/syslog-ng/(JBoss|Tomcat).*$
你应该能够链接多个RewriteCond与[OR]标志
RewriteEngine on RewriteCond %{QUERY_STRING} !^/var/log/syslog-ng/JBoss.*$ [OR] RewriteCond %{QUERY_STRING} !^/var/log/syslog-ng/Tomcat.*$ [OR] RewriteRule ^/cgi-bin/(.*)$ /secure-cgi-bin/$1 [R=301,L,QSA]