由于我的htaccess配置,它似乎抓住了css / js和所有文件。
这是我的htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?download/(.*)$ download.php?url=$1 [QSA,L]
RewriteRule ^(.*)$ software_cat.php?url=$1 [QSA,L]
</IfModule>
以这种方式调用css或javascripts
<link href="/layout.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
所有文件都由software_cat.php提供
如果我像这样添加广告斜杠:
RewriteRule ^/(.*)$ software_cat.php?url=$1 [QSA,L]
所有文件都运行良好,但没有任何内容指向software_cat.php,所以它的问题相同,但反过来
我如何修复它,以便最后的捕获对css / js / images / etc不起作用?
由于
答案 0 :(得分:0)
轻轻地更改规则的顺序:
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteRule ^download/(.*)$ /download.php?url=$1 [QSA,L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /software_cat.php?url=$1 [QSA,L]
这样,由于2 RewriteCond行中指定的!-d
和!-f
条件,您的css,js文件将不会被转发。