我还没有找到目前问题的所有答案。
以下是该网站的根目录:
我需要的是阻止所有文件的直接访问,并且只允许通过以下格式的URL访问:
1 ht * p://sub.domain.com/image/param/size/folder/img.jpg(param,size,folder,img是参数)
2 ht * p://sub.domain.com/action/param1/param2/(param1,param2是参数)
1将指向具有正确参数
的display.php
2将指向具有正确参数的admin.php
每个其他访问必须是404(最多)或403
我的规则是(htaccess在ht * p://sub.domain.com/中):
RewriteRule ^image/([^/]+)/([0-9]+)/([^/]+)/([^/]+)\.jpg display.php?param=$1&size=$2&folder=$3&img=$4 [L]
RewriteRule ^action/([^/]+)/([^/]+) admin.php?action=$1¶m=$2 [L]
这些规则可以按照我的意愿运行,但我仍然坚持如何阻止任何不是来自这些URL的访问!
另外(作为奖励)我希望能够在不同的网址上使用相同的htaccess,而无需更改此文件。
提前致谢
答案 0 :(得分:0)
您是否尝试将图像移出公共文件夹并使用php来调用图像?
对于PHP文件,您可以使用switch语句(http://www.php.net/switch)。
对于admin.php文件,您可以执行以下操作:
$get_action = $_GET['action'];
switch ($get_action) {
case "edit":
case "view":
case "delete":
case "add":
//Continue loading the page
break;
default:
header('HTTP/1.1 403 Forbidden');
die();
}
注意:我不知道您的代码的外观或工作方式,但您可以根据我添加的代码了解。