【发布时间】:2015-12-10 17:55:09
【问题描述】:
在我的 vhost.conf 文件中,我将所有请求重定向到自定义位置:
RewriteRule ^/(.*) http://www\.tokk\.sk/$1 [L,R=302]
我正在使用自定义错误文档:
ErrorDocument 302 /redirect.py
我必须添加以下规则以从实际重定向中排除 redirect.py:
RewriteCond %{REQUEST_URI} ^/redirect\.py$
RewriteRule ^ - [L]
现在用户可以从他的浏览器直接访问这个文件(redirect.py)。但我希望所有请求都被重定向。所以这样的用户访问这个redirect.py也应该被重定向:)
所以在上面的规则中,我尝试添加类似
RewriteCond %{REDIRECT_STATUS} ^302$
但它不起作用。我能以某种方式检测到,处理请求不是来自用户,而是由 RewriteRule 生成的吗?
【问题讨论】:
-
从 Apache 2.3 开始,应该有标志 END,可能会解决这个问题:http://httpd.apache.org/docs/current/rewrite/flags.html#flag_end
标签: apache mod-rewrite