我刚刚为我们公司完成了我们的网站,同时使用我的第一个时间.htaccess文件重写URL。当它把网站放在网上时,一切正常(使用更新的火狐版本)。
现在在我们的商店中,我不得不安装 Firefox 3.5.17,因为我们供应商的内部系统仅适用于该版本(很奇怪,但就像它一样......
在这些计算机上测试我们的网站时,似乎我的重写规则不起作用,我什至认为该版本的FireFox忽略了该文件。
所以我在我自己的计算机上安装了更新版本的 Firefox 和旧版本,我得到了相同的结果。
我有<base href="/">
以及我的htaccess文件的内容:
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/../..当我开始点击更多链接时,它变成了网站/../../../..等等..
我在这里做错了什么?我怎样才能让这些东西工作。
更新(已解决)
我已将基本 URL 更改为完整域。就像下面的帖子中所述。非常感谢您的回答。
这不是你的htaccess或你的规则。Firefox 不能尊重 htaccess 文件中的内容,这完全是服务器端的事情。Apache 决定是否应该遵循文件的内容。
这是因为该版本的 Firefox 不遵守没有 FQDN 的 <base>
标签。您需要做的是尝试包含主机名:
<base href="http://website.com/">
或者将所有链接更改为绝对URL,而不是具有以下链接:
<a href=".../...">next link</a>
它需要:
<a href="/.../...">next link</a>