我想让mod_rewrite对任何不存在的文件名生效,除非该文件名以js,css,gif等结尾,所以那些将返回常规404 ...
我试过了:
RewriteCond %{REQUEST_FILENAME} \.(js|ico|gif|jpg|png|css|pdf)$ [OR]
RewriteCond %{REQUEST_FILENAME} favicon.ico$ [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ /index.php/$1 [L]
我在网上找到的地方,但它似乎没有用。我的不存在的JS文件仍然被路由到我的index.php文件。
答案 0 :(得分:2)
尝试此规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !.*\.(js|ico|gif|jpg|png|css|pdf)$ /index.php%{REQUEST_URI} [L]
答案 1 :(得分:0)
您是否添加了.htaccess文件之前的命令? 喜欢这条线?
RewriteEngine On
答案 2 :(得分:0)
如果您不仅可以使用.js文件,还可以使用.Js或.JS或.jS文件,则可能需要使用第一行的[NC]标志...