2011-07-18 2 views
-1

私には、http://example.comの下にアクセス可能なウェブサイトがあります。 これには、index.php、intro.php、faq.php、contact.phpなどのPHPスクリプトがいくつかあります。 典型的な使用例は、次のようになります。 http://example.comに行くユーザはhttp://example.com/index.php - >「紹介」をクリックし、http://example.com/intro.phpにリダイレクトされます。ウェブサイトのトップレベルのみを表示

これはうまくいきましたが、PHPスクリプトの名前を完全に隠す方法があるかどうかは分かりませんでした。そのため、ユーザーはindex.php、introに関係なくURLは常にhttp://example.com/となります。 php、faq.phpなど RewriteRulesを使うのは、基本的にもう1つの方向を向いているようです。ユーザーの特定のURLの入力を容易にすることです(例: ".php"をオプションにする)。 しかし、私は、ユーザーがサイトのURLだけを見えるようにし、その途中で個々のスクリプトを取得しないようにします。

は、個々のスクリプトで実際に可能と同様のものですか、これを1つに結合されるすべての個々のスクリプトが必要になり、その後のような構文を使用する:

if($_POST['destination'] == "intro") 
{ 
    //DO ALL THE Introduction MARKUP 
} 

ありがとうを。

ベスト。

+6

web _is_ urls、あなた、検索エンジン、そしてあなたのサイトを使用するすべての関係者を激しくする特別な理由は何ですか? – Wrikken

+0

本当に良い古いフレームセットテクニックですか? – dknaack

+0

@ Wrikken:実際のサイト/サービスは、私が個々のスクリプトにグループ分けした一連の入力で構成されています。したがって、ユーザーは個々のURLを知ることによるメリットはありません。実際には、最初から開始し、単純に中間URLに進むことはできません。したがって、「メイン」URLのみを表示することで、より良い制御が可能になります(ユーザーは手動で「/faq.php」を入力する可能性が低くなります)。そのコンテキストでは、はるかにきれいです。 – Shadow

答えて

2

iframeをフルページで使用し、intro.phpをiframeに読み込むことができます。この方法では、ユーザーは同じページにとどまりますが、iframe内のページは変更されます。

0

片方向(作業中ですが、あまりよくありません)は、すべてのスクリプトをindex.phpに含め、それらのスクリプトから特定のページを描画する関数を呼び出すことです。この呼出しはドームポスト変数に依存しなければならない。

+0

ありがとう、ありがとう、私の質問を少し慎重に読んだことは、私がすでにそれについて考えていることを明らかにしました。 – Shadow

+0

o、申し訳ありません。とにかく、それは良い考えではありません – k102

0

ユーザーがリンクをクリックすると、AJAX呼び出しを使用して新しい内容を読み込むことができます。そして、あなたはいつものようにあなたのウェブサイトを作成するのではなく、(jQueryのを使用して)この1のようなスクリプトを追加できます。

$(function() { 
    $('a').click(function() { 
     $.get($(this).attr('src'), function(data) { 
      document.write(data); 
     }); 
     return false; 
    }); 
)}; 

を、私はこのコードを試していないが、この線に沿って何か作業をする必要があります。

これはもちろん、JavaScriptをサポートしていないブラウザでは機能しません。また、別の方法でフォームを処理する必要があるため、フルページのiframeを使用する方が簡単な方法かもしれません。

0

私は、きれいなindex.phpと必要に応じて他のスクリプトを用意しています(私はあなたのドキュメントルートの外にいても、偶然にも直接アクセスすることはできません) )わざと:

のindex.php:

<?php 
$action = isset($_POST['action']) ? $_POST['action'] :'index'; 
switch($action){ 
     case 'intro': 
      require '../pages/intro.php'; 
      break; 
     case 'somethingelse': 
      require '../pages/somethingelse.php'; 
      break; 
     case 'index': 
     default: 
      require '../pages/index.php'; 
} 
?> 

が可能性も多少可能ページのホワイトリストに配列して最適化されています。これにより、オリジナルのindex.phpを小さくして&を整理したままにしておくことができます。ただし、専用ファイルでもっと複雑な作業を行うことも可能です。実際にはにはのjavascriptが必要です(機能には必要ありませんが、もちろんを使用することができます)、またはフレームによる偽の隠れたURL(ほとんどの場合、検索インデクサーや単にhtmlに関する知識が最小限の直接URLを使用したい)。

関連する問題