基于此主题:Proper regex for .htaccess redirect and prevention of hotlinks
我在问一个更有针对性的问题(热链接已经解决)。
我正在做一个图像主机项目并正在编码图像名称。我需要为用户提供一个简短的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
我为之前创建一个令人困惑的话题而道歉,非常感谢你的帮助!
答案 0 :(得分: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]
答案 1 :(得分:0)
这应该做:
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule (.*) image.php?query=$1
但这是黑名单 - 一般来说我建议使用白名单来代替这些东西。