.htaccess文件不存在时redirect

我正在使用.htaccessredirect用户到我的主控制器,它工作正常。 但是当我调用一个不存在的js文件时:

<script src="/js/jquery1231231312.js"></script> 

而不是只说404 – 文件不存在,这个JS文件正在获取index.php的内容。 我应该如何继续?

这是我的.htaccess

 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> 

那么,你有它的方式设置,一切都通过index.php路由。 如果请求的资源不存在,则通过index.php进行路由。 这是由index.php来实现的东西不存在,并返回一个404错误,但我猜测它的设置,如果url=不存在,返回主页。

您可以更改您的规则,以忽略某些文件的路由,例如:

 RewriteEngine on RewriteCond %{REQUEST_URI} !^/js/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 

这将使得/js目录中的任何内容都无法通过index.php路由,所以如果有人请求/js目录中的不存在的文件,他们只会得到常规的404响应。


编辑:

这就是我想要的,忽略某些文件(JS,CSS,图像)的路由,因为如果这些文件不存在,我会得到正常的错误!

如果你想忽略所有的图像,javascript和css,那么第二行应该是:

 RewriteCond %{REQUEST_URI} !\.(png|jpe?g|gif|css|js)$ [NC]