Apache使用mod_重写检测重定向
在vhost.conf文件中,我将所有请求重定向到自定义位置:Apache使用mod_重写检测重定向,apache,mod-rewrite,Apache,Mod Rewrite,在vhost.conf文件中,我将所有请求重定向到自定义位置: RewriteRule ^/(.*) http://www\.tokk\.sk/$1 [L,R=302] 我正在使用自定义错误文档: ErrorDocument 302 /redirect.py 我必须添加以下规则以从实际重定向中排除redirect.py: RewriteCond %{REQUEST_URI} ^/redirect\.py$ RewriteRule ^ - [L] 现在用户可以从浏览器直接访问此
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生成的?问题已在redirect.py脚本中解决。
当点击
RewriteCond%{REQUEST\u URI}^/redirect\.py$
时,在我的CGI脚本环境中设置变量redirect\u STATUS。因此,当未设置变量时,请求直接来自用户。然后通过脚本完成重定向。问题在redirect.py脚本中解决。
当点击
RewriteCond%{REQUEST\u URI}^/redirect\.py$
时,在我的CGI脚本环境中设置变量redirect\u STATUS。因此,当未设置变量时,请求直接来自用户。然后通过脚本完成重定向。从Apache 2.3开始,应该有flag END,这可能会解决此问题:从Apache 2.3开始,应该有flag END,这可能会解决此问题: