我有这样的目录结构
/ub/
/ub/img/
/ub/inc/
基本上我想将我的img
URL 更改为它的父目录(ub)
,
当我访问http://localhost/ub/mypic.jpg
首先,它必须检查/ub/img/mypic.jpg
,如果存在则获取该文件并传递给浏览器,如果不存在则只需将其传递给 http://localhost/ub/index.php?img=mypic.jpg
内部重定向。
其次,index.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]
我有 2 天的时间来找出解决方案,但是,它似乎不起作用,
谢谢,
编辑 :
嘿,我有这个,请求http://localhost/ub/app/file.php
已经index.php?uri=app/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]