.htaccess将所有内容重写为index.php或静态文件

时间:2015-02-05 20:14:03

标签: php apache .htaccess

我的.htacces被设置为处理对index.php的所有请求

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [QSA,L]

工作正常,但现在我发现自己处于一种情况,我需要从url访问img文件夹中的文件,按照我的文件夹结构和.htaccess上的新行:

文件夹结构

.htaccess // File
index.php // Folder
webroot // Folder
  img // Folder inside webroot

.htacess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^webroot/.+\.(jpg|gif|png|ico)$ - [L] // New line

RewriteRule ^ index.php [QSA,L]

htaccess说如果我得到http://example.com/webroot/img/something.jpg,如果没有处理index.php的任何其他内容。

如果没有在网址上调用webroot,我如何访问我的静态文件? 喜欢这个http://example.com/img/something.jpg与我当前的文件夹结构??

1 个答案:

答案 0 :(得分:0)

如果您想从网址中删除webroot,可以尝试此操作。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^img/(.*)$ /webroot/img/$1 [L]