apache重定向除了一些文件

时间:2015-08-17 10:33:13

标签: apache .htaccess redirect

我有这样的文件结构:

enter image description here

我的目标是将每个请求重定向到public / index.php

这就是我当前根目录.htaccess

中的内容
RewriteEngine on
RewriteRule ^([^?]*)$ public/index.php [NC,L,QSA]

它重定向所有内容,但随后我的css文件链接停止工作。 css文件的响应标题显示Content-Type:text/html,所以我怀疑它的htaccess搞砸了我的content-type

我的目标:只是拒绝访问app文件夹并将所有内容重定向到public / index.php(js / css类型的文件除外)

更新: 我还在Chrome控制台中找到了这一行:

Resource interpreted as Stylesheet but transferred with MIME type text/html

1 个答案:

答案 0 :(得分:1)

通常,如果文件或目录存在,您可以将您拥有的规则与不重定向的规则结合起来:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/index.php [NC,L,QSA]

如果你真的只想忽略js / css文件,你可以说:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !.+\.(js|css)$
RewriteRule ^(.*)$ public/index.php [NC,L,QSA]