我尝试构建RewriteCond和rewriteRules,使它们在IF-ELSE条件类型中工作。我在apache2.conf中添加了rewiriteconds和规则。但看起来,规则没有得到执行。 这是我尝试过的:
RewriteEngine on
RewriteCond %{HTTP_COOKIE} !^Set-Cookie$
RewriteRule ^/(.*) http://abc.xyz.com/$1
RewriteCond %{HTTP_COOKIE} ^Set-Cookie$
RewriteRule ^/([^/]*\.nff).*$ /srv/samba/FilesIN/$1
Cond / rules(根据我的理解) 如果没有Set-Cookie,则重定向到abc.xyz.com else 直接到/ srv / samba / FilesIN / $ 1
请告知这些Cond /规则是否正确?
谢谢, -Suresh
答案 0 :(得分:0)
仅在名称上不匹配%{HTTP_COOKIE}
。放宽正则表达式边界以覆盖cookie值。
RewriteEngine on
RewriteCond %{HTTP_COOKIE} !^.*Set-Cookie.*$ [NC]
RewriteRule ^/?(.*)$ http://abc.xyz.com/$1 [L]
RewriteCond %{HTTP_COOKIE} ^.*Set-Cookie.*$ [NC]
RewriteRule ^/?([^/]+\.nff).*$ /srv/samba/FilesIN/$1 [NC,L]
答案 1 :(得分:0)
此问题现已解决。重写和规则应该在Virtualhost文件中,而不是在http.conf或apache.conf中。