2010-12-06 22 views
5

私はいつもPHPを使用してmod_rewriteをして経路を介して、PHPにすべての私の要求を送信します。したがって、すべてのリンクは絶対的です(つまり、/about/something)。<base href = "" />を使用する必要がありますか?

私は通常BASEは一般/に変換またはベースURLに応じて異なる場合がありますので...

<a href="<?php echo BASE; ?>">home</a> 

のように私のリンクを記述します。

は私が前に行く<base href="<?php echo BASE; ?>" />を与える覚えて、私はそれを使用して停止した理由私は(私はそれが私に頭痛を与えていたと思います)覚えていないことができます。この要素を使用して問題が

ありますか?

答えて

3

ベース要素のhrefは絶対URIであることが、HTML 4.01でした。 http://www.w3.org/TR/html4/struct/links.html#h-12.4を参照してください。

一部のブラウザではそれほど厳しくはありませんが、私はすべてのブラウザがこれで一貫しているとは思わないので、<base href="/">はおそらくクロスブラウザでは動作しません。私はいつも同じ理由で、ベースHREFを使用し

3

。 mod_rewriteを使用してURLをクエリ文字列に変換して、絶対URLを使用したくありません。だから私は一番下に1つのベースhrefを置く。それに実際の問題はありませんでした。

+0

IEでベースhrefを使用して、サブフォルダ内の相対URLにjavascript "location.href"を実行しようとしましたか?例:あなたのベースhrefが "http://www.site.com/"で、javascriptのonclickが "window.location.href = 'folder/targetpage.html'; falseを返します;" - IEでは、既にそのサブフォルダに入っていると正しく動作しません。このための回避策はありますか? – Sean

+0

これは気付かれませんでした。明らかに回避策はありません。 –

0

OpenCartはそれを使用して、Magentoの1.7以降は、Drupalの6にはありませんしません。私は過去にカスタムベースのhrefの実装を行ってきましたが、プロジェクトのメンテナンスをもっと難しくしているようですが、それは私の意見です。

関連する問題