我有以下目录结构:
root
--/inc
--/img
--/docs
---/public
----/contact
-----/img
------telephone.jpg
-----contact.php
---/private
我的目标是让'docs'下的每个文件夹成为'包含'的网页。每个文件夹都有自己的/img/
文件夹和/bin/
文件夹,其中可以包含从Mp3到PDF的任何内容。
目前我正在将所有内容路由到index.php,然后从那里手动重定向文件。但事实证明这非常缓慢。在我的.htaccess中,我想的更快就会是这样的,如果说,图片试图通过/contact/telephone.png
访问:
try /img/{url_path}
Otherwise, try /docs/$1/img/$2
Otherwise route through index.php
我怎么能这样做?目前我的.htaccess如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# if file not exists
RewriteCond %{REQUEST_FILENAME} !-f
# if dir not exists
RewriteCond %{REQUEST_FILENAME} !-d
# avoid 404s of missing assets in our script
#RewriteCond %{REQUEST_URI} !^.*\.(jpe?g|png|gif|css|js)$ [NC]
RewriteRule .* index.php [QSA,L]
</IfModule>
任何帮助表示赞赏!感谢
答案 0 :(得分:0)
您可以在DOCUMENT_ROOT/.htaccess
文件中执行以下操作:
RewriteEngine On
# check if this image path exists in docs/<folder>/img first
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/docs/$1/img/$2 -f
RewriteRule ^([^/]+)/(.+?)/?$ /docs/$1/img/$2 [L]