0

我试图构建 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

条件/规则(根据我的理解)如果没有 Set-Cookie,则重定向到 abc.xyz.com,否则直接到 /srv/samba/FilesIN/$1

请建议这些条件/规则是否正确?

谢谢,-Suresh

4

2 回答 2

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]
于 2013-10-23T10:39:56.920 回答
0

现在问题已经解决了。rewritecond 和规则应该在 Virtualhost 文件中,而不是在 http.conf 或 apache.conf 中。

于 2013-10-23T16:14:09.210 回答