到目前为止,我对.htaccess文件知之甚少。我想将所有请求重定向到我的根文件夹中的一个index.php文件,除非url链接到存在且位于files文件夹中的文件。 (例如example.com/files/picture.png)我想通过根目录中的htaccess文件实现这一点,如果需要,可以在files目录中实现一个。此外,我不想显示拒绝许可的消息。
现在我有了这个:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
但是如果url引用的文件存在,它不会将一个重定向到index.php文件。有帮助吗?我在互联网上寻找但却找不到任何东西。
答案 0 :(得分: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]
除css javascript和图像文件外,所有请求都将通过index.php文件。这个.htaccess文件我用于codeigniter框架,所以它可能会因你的情况而略有不同。