.htaccess热链接保护重定向

时间:2014-03-05 01:14:36

标签: php apache .htaccess redirect

我的htaccess文件包含以下内容

RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] 
RewriteRule view.php - [F]

这里,如果从localhost以外的引用请求的view.php将被禁止显示。 view.php文件是以view.php?id = 44的形式请求的,所以我需要将访问者重定向到download.php?id = 46而不是显示禁止页面。


提前致谢

1 个答案:

答案 0 :(得分:2)

使用此

RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] 
RewriteRule ^view/([^/.]+)/?$ download/$1 [L]
RewriteRule ^download/([^/.]+)/?$ download.php?id=$1 [L]
RewriteRule ^view/([^/.]+)/?$ view.php?id=$1 [L]

现在你的网址将是view / 44而不是view.php?id = 44并下载/ 44而不是download.php?id = 44