我在.htaccess文件中添加了一些规则以添加一些规则。其中的一个规则被替换特殊字符,如下面的示例中,跳过给定的文件类型替换.htaccess中URL的特殊字符
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)û(.*)$ /path/$1u$2 [L,R=301]
RewriteRule ^(.*)\s(.*)$ /path/$1-$2 [L,R=301]
RewriteRule ^(.*)&(.*)$ /path/$1-$2 [L,R=301]
RewriteRule ^(.*)_(.*)$ /path/$1-$2 [L,R=301]
RewriteRule ^(.*)%(.*)$ /path/$1-$2 [L,R=301]
我想这个规则不适用,如果请求的URL是有.js文件,名为.css或其他任何给定的扩展。
我尝试了几个解决方案,但仍然没有运气。以下是一些类似问题中建议的代码,
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
感谢有没有人能帮忙?
这是一个很重要的一点,从维克勒马辛
记住,每个的RewriteCond条件仅适用于立即 以下重写规则。这意味着如果你有一堆规则,你必须复制条件。如果你真的不想因为某种原因做 ,你可以在所有 您的规则一开始就用一个否定
谢谢,测试工具是非常有用的。 – DSEJ