我刚刚完成了我们公司的网站,同时使用我的第一个.htaccess文件来重写URL。 当网站上线时(使用更新的firefox版本),一切正常。
现在在我们的商店我必须安装Firefox 3.5.17因为我们供应商的内部系统只适用于那个版本(很奇怪,但它就像是......)
在这些计算机上测试我们的网站时,似乎我的RewriteRules无法正常工作,我甚至认为FireFox版本忽略了该文件..
所以我在我自己的电脑上安装了更新版本的Firefox及旧版本,我也有相同的结果。
我使用<base href="/">
我的htaccessfile的内容:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?p=$1 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?p=$1&cat=$2 [NC,L]
结果应该是: website.com/../ .. 当我开始点击更多链接时,它变成了网站/../../../ ..等等..
我在这里做错了什么?我怎样才能让这些东西发挥作用。
更新(已解决)
我已将基本网址更改为完整域名。就像在下面的帖子中描述的那样。非常感谢你的回答。
答案 0 :(得分:0)
这不是你的htaccess或你的规则。它不是由firefox来纪念htaccess文件中的内容,这完全是服务器方面的事情。 Apache决定是否应该尊重文件的内容。
这是因为该版本的firefox不支持没有FQDN的<base>
标记。您需要做的是尝试包含主机名:
<base href="http://website.com/">
或者将所有链接更改为绝对网址,因此不要使用以下链接:
<a href=".../...">next link</a>
需要:
<a href="/.../...">next link</a>