【发布时间】:2014-03-20 07:51:18
【问题描述】:
我正在我的网站上为我的图像构建一个文件系统,我想要一个用于公共图像的文件夹树和一个用于私有图像的私有文件夹树。我的系统已经使用以下 .htaccess 规则为图像创建了微小的 url:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.)(..)(..)(.*)$ ./pictree/head/$1/$2/$3/$1$2$3$4.png
所以这个请求:
www.mysite.com/1234567
会去:
htdocs/pictree/head/1/23/45/12345657.png
我想修改文件夹结构以包括公共和私人文件夹:
htdocs/pictree/public/1/23/45/12345657.png
htdocs/pictree/private/1/23/45/12345657.png
如果请求来自我们本地网络上的 IP 地址,.htaccess 将尝试访问私有文件树中的文件,然后是公共文件树。
所有其他请求只能访问公共树。
我猜新规则是这样的:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{REMOTE_ADDR} ^###\.###\.##
RewriteRule ^(.)(..)(..)(.*)$ ./pictree/private/$1/$2/$3/$1$2$3$4.png
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.)(..)(..)(.*)$ ./pictree/public/$1/$2/$3/$1$2$3$4.png
我该如何完成它?
【问题讨论】:
-
你已经有这个规则了,还有什么不行?
标签: php apache .htaccess mod-rewrite filesystems