1

最初の時間の .htaccess ファイルを使用して URL を書き換えながら、会社の Web サイトを完成させました。サイトをオンラインにすると、すべてが正常に機能します(更新された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/../.. さらにリンクをクリックし始めると、website/../../../.. などになります。

ここで何が間違っていますか?そして、どうすればこれを機能させることができますか。

更新(解決済み)

ベース URL を完全なドメインに変更しました。以下の投稿で説明されているように。ご回答どうもありがとうございました。

4

1 に答える 1

0

これは、htaccess やルールではありません。htaccessファイルの内容を尊重するのはfirefox次第ではありません。これは完全にサーバー側の問題です。Apache は、ファイルの内容を尊重するかどうかを決定します。

これは、そのバージョンの firefox が<base>FQDN なしでタグを受け入れないためです。あなたがする必要があるのは、ホスト名を含めてみることです:

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

または、すべてのリンクを絶対 URL に変更して、次のようなリンクの代わりに:

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

次のようにする必要があります。

<a href="/.../...">next link</a>
于 2013-11-08T16:02:55.713 に答える