2013-01-17 120 views
2

到目前为止我对.htaccess文件的理解很少。我想将所有请求重定向到我的根文件夹中的一个index.php文件,除非URL链接到存在并位于文件夹中的文件。 (例如example.com/files/picture.png)我只想在根目录下使用htaccess文件来实现这一点,如果需要,还可以在文件目录中使用htaccess文件。此外,我不想显示权限被拒绝的消息。将所有请求重定向到index.php,除了/ files子目录

现在,我有这样的:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

但是,如果该文件的URL指的存在,它不重定向到一个index.php文件。任何帮助?我在网上寻找,但找不到任何东西。

回答

5

事情是这样的:

RewriteEngine on 

RewriteCond %{REQUEST_URI} /img/.+(gif|png|jpg)$ 
RewriteRule .* - [L] 

RewriteCond %{REQUEST_URI} /css/.+(css|png)$ 
RewriteRule .* - [L] 

RewriteCond %{REQUEST_URI} /js/.+css$ 
RewriteRule .* - [L] 

RewriteCond %{REQUEST_URI} /js/.+(js|htm)$ 
RewriteRule .* - [L] 

RewriteCond $1 !^(index\.php|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

所有请求都将通过index.php文件除了CSS JavaScript的和图像文件。这个用于codeigniter框架的.htaccess文件,所以它对于你的情况可能有点不同。

相关问题