htaccess redirect referrer - 但停止在新页面上重定向

时间:2011-03-21 00:25:00

标签: .htaccess regex

我们遇到一个问题,有人在http://scorpex.net/Uke偷取广泛的夏威夷四弦琴歌曲列表以获得付费应用。

谈判已经破裂,因此来自应用程序的任何请求都将被重定向到新的“这些歌曲被扯掉”pdf文件。

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^theapp [NC]
RewriteRule \.*$ http://scorpex.net/stop/stealing/uke/songs/please.pdf [R]

问题是它创建了一个重定向循环 - 我可以看到原因,我不知道如何解决它。创意人?

3 个答案:

答案 0 :(得分:1)

你的重写规则看起来应该是这样的,我相信:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^.*theapp.*$ [NC]
RewriteRule .* http://scorpex.net/stop/stealing/uke/songs/please.pdf [R]

答案 1 :(得分:1)

建议:如果文件名不包含please.pdf,则仅应用规则。

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^theapp [NC]
RewriteCond %{REQUEST_FILENAME} !please.pdf
RewriteRule \.*$ http://scorpex.net/stop/stealing/uke/songs/please.pdf [R,L]

或仅在用户尝试访问mp3文件时进行重定向。

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^theapp [NC]
RewriteRule \.mp3$ http://scorpex.net/stop/stealing/uke/songs/please.pdf [R,L]

答案 2 :(得分:0)

我不确定它是否是正确的甚至是最佳解决方案,但这有效:

在目标目录中,我添加了另一个.htaccess RewriteEngine Off我对regexp或.htaccess没有经验,但可以通过以下示例混淆我的方式,所以我对这种方法的评论感兴趣。