我在js中使用pushstate事件,因此重写了我的htaccess,以便将我的url中的每个路径重定向到index.php:
# html5 pushstate (history) support:
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.php [L]
</ifModule>
工作得很好..但我建立了一个ajax脚本,我检查某些图像是否可用。
function loadPicture(selector, file, errorf){
$.ajax({url: file,type:'HEAD',error:function(){
$(selector).attr('src', errorf);
$('#notavailable').show();
}, success:function(){
$(selector).attr('src', file);
if($('#notavailable').is(':visible')){
$('#notavailable').hide();
}
}});
};
这个脚本不再起作用,我意识到这是因为.htaccess。
现在我真的不是htaccess的专家,我觉得很难理解,肯定需要一些帮助。也许有人可以告诉我如何将每个顶级/根路径(例如domain.com/somethingtoredirect)重定向到我的index.php,但对某些甚至每个文件夹设置例外(domain.com/thisfoldershouldnotberedirectedByHtAccess)
我认为这可以解决我的问题,因为我正在检查的图像不是高级存储而是存储在子文件夹中..
任何帮助都非常感谢。
罗马
答案 0 :(得分:1)
只需从catch all规则中排除图片文件夹:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/dummy-image-folder/ [NC]
RewriteRule ^ index.php [L]