URL重写/ base href / Firefox 3.x.x.

时间:2013-11-08 15:57:40

标签: php .htaccess mod-rewrite

我刚刚完成了我们公司的网站,同时使用我的第一个.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/../ .. 当我开始点击更多链接时,它变成了网站/../../../ ..等等..

我在这里做错了什么?我怎样才能让这些东西发挥作用。

更新(已解决)

我已将基本网址更改为完整域名。就像在下面的帖子中描述的那样。非常感谢你的回答。

1 个答案:

答案 0 :(得分:0)

这不是你的htaccess或你的规则。它不是由firefox来纪念htaccess文件中的内容,这完全是服务器方面的事情。 Apache决定是否应该尊重文件的内容。

这是因为该版本的firefox不支持没有FQDN的<base>标记。您需要做的是尝试包含主机名:

<base href="http://website.com/">

或者将所有链接更改为绝对网址,因此不要使用以下链接:

<a href=".../...">next link</a>

需要:

<a href="/.../...">next link</a>