我的.htaccess文件在IE中不起作用,它在FireFox和Chrome中工作正常,但在IE图像中不会加载,并且链接无法正常工作。 CSS工作正常,所有PHP接缝都可以工作。
我很确定它与我需要从url中提取2个GET变量有关,因为当我只需要拉一个变量时它可以正常工作。无论如何这里是我的代码
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^/]+)/([^/]+)/?$ /website/index.php?id=$1&c=$2
请帮助,我一直在寻找解决方案的时间。
答案 0 :(得分:0)
我没有看到任何重写条件如何依赖于浏览器.. 你的问题必须在其他地方。
可能会尝试删除您的规则中的前导/
RewriteRule ^([^/]+)/([^/]+)/?$ /website/index.php?id=$1&c=$2
答案 1 :(得分:0)
除了图片和链接之外,一切都正常工作,例如,假设基本网址是localhost / website / 148 / category,我点击了一个链接,它应该带我到localhost / website / 149 / category它带我到localhost /网站/ 148 /分类/ 149 /类别。所以它只是在它的接缝上添加了它。
这是一个相对/绝对URI问题,与您的重写规则没有任何关系。使用<base>
标签应该可以修复此问题,但是bugs in versions of IE8导致在没有前面的FQDN的情况下忽略它,例如:
<base href="http://localhost/website/">
(甚至不确定是否能解决问题)。
是的,它需要在所有其他引用之前和<head> </head>
标记内。解决此问题的唯一办法是将所有链接更改为绝对URI而不是相对URI。