1

基于此线程: .htaccess 重定向和防止热链接的正确正则表达式

我在问一个更集中的问题(解决了盗链问题)。

我正在做一个图像宿主项目并且正在编码图像名称。我需要为用户提供一个简短的 url 来访问他们的图像。以下内容应在内部重定向:

domain.com/hsh1h.jpg(或其他图像扩展名)
domain.com/hsh1h

这些将在内部重定向到:
domain.com/image.php?query=hsh1h.jpg
domain.com/image.php?query=hsh1h

问题是不应重定向以下网址:

domain.com/admin
domain.com/admin/index.php

很抱歉之前创建了一个令人困惑的话题,非常感谢大家的帮助!

4

2 回答 2

1

尝试:

# these rules ensure you aren't clobbering legit requests (like to image.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# just in case, exclude the admin directory
RewriteCond %{REQUEST_URI} !^/admin

# rewrite
RewriteRule ^(.*)$ image.php?query=$1 [L]
于 2012-09-12T21:54:41.737 回答
0

这应该这样做:

RewriteCond %{REQUEST_URI} !^/admin
RewriteRule (.*) image.php?query=$1

但这是黑名单——一般来说,我建议对这些东西使用白名单。

于 2012-09-12T21:58:35.233 回答