У меня есть следующая конфигурация в файле конфигурации Apache для сценария CGI:
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
, вместо этого они должны быть перенаправлены через защищенный сценарий CGI.
Теперь я хотел бы изменить RewriteCond
так что второй путь также может быть просмотрен без прохождения защищенного CGI. Этот второй путь /var/log/syslog-ng/Tomcat
.
Как мне сделать это изменение?
Вы можете использовать несколько строк и флаг [OR], как сказал вам самарудж, но, поскольку у вас есть только немного разные пути, напоминание: ReWriteCond / Rule поддерживает регулярные выражения, поэтому такой формат также возможен:
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]