[英]Apache detect redirect with 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]
現在,用戶可以從瀏覽器直接訪問此文件(redirect.py)。 但是我希望所有請求都被重定向。 因此,也應該將這樣的用戶訪問此redirect.py的路徑重定向:)
所以在上面的規則中,我嘗試添加類似
RewriteCond %{REDIRECT_STATUS} ^302$
但這不起作用。 我能以某種方式檢測到該處理請求不是來自用戶的,而是由RewriteRule生成的嗎?
問題已在redirect.py腳本中解決。 當命中RewriteCond %{REQUEST_URI} ^/redirect\\.py$
,在我的CGI腳本環境變量REDIRECT_STATUS中被設置。 因此,當未設置變量時,請求將直接來自用戶。 然后重定向是通過腳本完成的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.