我有像这样的目录结构
/ub/
/ub/img/
/ub/inc/
基本上我想把我的 img
URL 更改为父目录 (ub)
,
当我访问
首先,它必须检查 /ub/img/mypic.jpg
(如果存在的话),然后将文件交给浏览器,如果不是,则将文件传送给(http://localhost/ub/index.php?img=mypic.jpg
第二,索引.php将创建 mypic.jpg
并将其存储到 /ub/img/
,然后通过 mypic.jpg
到浏览器。
因此,无论文件是否存在,浏览器只能将http://localhost/ub/mypic.jpg
作为 URL
到目前为止,我在我的.htaccess档案里有这个
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/ub/img/$1 -f
RewriteRule .+ /ub/img/$1 [L]
我还有两天时间 找到解决办法 但似乎行不通
谢谢
<强 > EDIT: 强 >
嘿,我明白了,对 http://localhost/ub/app/file.php
的要求已经按照i的预期传送到 index.php?uri=ap/file.php
,
但对 http://localhost/ub/img/mypic.jpg
的要求没有传递到 index.php?uri=img/mypic.jpg
。 有什么解决办法吗?
Options -MultiViews +FollowSymLinks
RewriteEngine On
RewriteBase /ub/
RewriteCond %{REQUEST_URI} ([^/]+)$
RewriteCond %{DOCUMENT_ROOT}ub/img/%1 -f
RewriteRule ^(.+)$ img/%1 [L]
RewriteCond %{REQUEST_URI} ([^/]+)$
RewriteCond %{DOCUMENT_ROOT}ub/inc/%1 -f
RewriteRule ^(.+)$ inc/%1 [L]
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L]