2011-08-17 23 views
6

私は多くのページとディレクトリがあるCodeigniterで構築されたサイトを持っています。すべてのページのアドレスバーに同じURLを保存するにはどうすればよいですか?

サイト名がwww.example.com(これはインデックスページです)としましょう。 ユーザーが「約」リンクをクリックするなど、別のページに移動すると、サイト名をにすることはできません。すべてのページのアドレスバーに変更がありますか?

+2

AJAXを使用してください。リクエストURIを変更せずにページのコンテンツを変更するには、JavaScriptだけが必要です。 –

+0

または目立たないiframe。 – sdleihssirhc

+0

Uはroutes.phpで野生の文字を使用して経路設定を変更できます – lampdev

答えて

2

悪い考え他に何もない場合は、ユーザーがあなたのサイトをブックマークできないようにします。

しかし、あなたがこの方向を意図している場合は、これを行うには2つの方法があります(また、遅すぎる前に元に戻すことをお勧めします)。

<!-- your site might look like this then --> 
<html> 
    <body><iframe src="http://path.to.your.real.site" /> 
</html> 

srcプロパティは、実際にすべての動的URLを持つ他のURLに誘導されます。

その他のオプションはAJAXです。それは実際にはあまりにも長く、例のために複雑です。次のようにプレーンなPHPでこれを行うことができ府CodeIgniterのわから

+0

JSまたはAJAXなしでこのタスクを行うためのPHPのコードはありますか? –

+0

@ maulik.patelあなたのサイトのすべてのリンクをPOST送信(doable、しかしseppukuをコミットしたいと思っている)の場合にのみ – cwallenpoole

+0

@ maulik.patel JavaScriptを避ける理由はありますか?サポートはほぼ普遍的です。あなたがJavaScriptをオフにして大部分のWebを使用していない非常に少人数のグループのために何かを開発しようとしているのでなければ、それを避けてください。 –

0

ない:

あなたのURLは、常にシングル「ファサード」PHP関数にマップ
  1. (多分「のindex.php」)。
  2. あなたのページナビゲーションでは、常にフォームから「POST」します。 "href ="を使用しないでください
  3. フォームには、現在のページと要求されたページを記録する隠しフィールドがあります。
  4. php "facade"を実行しているときは、 "現在の"と "要求された"フォームフィールドを調べ、適切なコードを呼び出して "要求された"ページを表示します。あなたは、「要求された」Cookieの値を設定するために、「クッキー」の代わりに、隠されたフォームフィールドといくつかの簡単なJavaScriptを使用することができます別の方法として

0

使用FRAMESET ORアヤックス

<FRAMESET ROWS="100%,*" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0> 
    <FRAME NAME="top" SRC="/Login .aspx or .php" NORESIZE> 
</FRAMESET> 
関連する問題