2012-02-10 7 views
1

この悪い習慣は決してありませんか?このリンクは適切ですか?

フォルダ構造(サブフォルダにindex.htmlをすべてのhtmlページは、ファイル名を持っている):ルートフォルダに

root-folder (index.html) 
    subpage1 (index.html) 
    subpage2 (index.html) 
    subpage3 (index.html) 

Index.htmlとはmenulinksを持っており、このようになります。

<a href="/">index</a> 
<a href="/subpage1">subpage1</a> 
<a href="/subpage2">subpage2</a> 
<a href="/subpage3">subpage3</a> 

サブフォルダ/サブページの他のすべてのindex.htmlファイルには、次のようなメニューリンクがあります。

<a href="../">index</a> 
<a href="../subpage1">subpage1</a> 
<a href="../subpage2">subpage2</a> 
<a href="../subpage3">subpage3</a> 

css、javascript、favoiconへのリンクにもこのリンク構造があります。

私は最もクリーンな方法は、このようなリンクをすべてのページに持つことだと思います。しかし、あなたがサブフォルダ内のページを試してみたい場合で動作するように複雑だ...

<a href="/">index</a> 
<a href="/subpage1">subpage1</a> 
<a href="/subpage2">subpage2</a> 
<a href="/subpage3">subpage3</a> 
+0

アイデア:私は行くだろうし「最もきれいな方法」で。サイトをテスト/表示する必要がある場合、サブドメインを使用することができます:) – Hakan

答えて

2

私がこのようなアプローチで持っている問題は、すべてのファイルが「index.html」と呼ばれていて、どのエディタにあるのかが分かりにくいということです。また、各フォルダを開閉して、移動して編集するという問題があります。

あなたが望むURLを得るためにできることは、mod_rewriteのようなものを使ってnice-urlを実際のファイル名に変換することです。

あなたの.htaccessファイルのために、このような何かを追加します。

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.html [NC,L] 

そして、すべてのページにあなたが最後の例のようなリンクを持ってできるようになります:

<a href="/">index</a> 
<a href="/subpage1">subpage1</a> 
<a href="/subpage2">subpage2</a> 
<a href="/subpage3">subpage3</a> 
+0

なぜ私はそのようにしませんでした!ありがとう、それは非常に良いアイデアです! – Hakan

+0

Ryan、subpage1(「/」は付けないでください)のようなリンクを持つことは問題ありませんか? – Hakan

+0

新しい質問を作成しました:http://stackoverflow.com/questions/9221872/link-practice-without-in-the-beginning-of-href – Hakan

0

クリーンな方法は、あなたが言ったように、あなたの第二の例のように、絶対パスを使用することです。私はあなたが記述した目的のために相対パスを使用することを避けるでしょう。

関連する問題