2010-12-07 13 views
0

午後、PHPのindex.phpのファイル

が含ま私は使用しなくても、私のindex.phpのに外部のPHPファイルを含めたい:?index.phpをP = pagetoinclude.php

私は今、このようにそれを持っています:index.php?page = home <これはhome.phpを含みますが、私はこのようにする方法を完全に忘れています:

index.php/home/without "?"代わりに "/"スラッシュを使用します。

ありがとうございました。ウェズリー。

答えて

0

使用mod_rewrite

そして、私はあなたが適切なチェックをやっている場合を除きGETパラメータで渡されたページを含むことは非常に安全でない可能性があることを指摘すべきです。

+0

私はすでに$ _GETを取り出していますが、これを例として使用しました。私はあらかじめ定義された変数のみを使用します。 mod_rewriteを使って少し安全にしたかったのです。しかし、私は今覚えています。 ヘルプメイトに感謝します。 – Wesley

0

偽のクリアURLを使用しようとしているようです。

index.phpでURLを取得し、index.php /で分割し、必要に応じて残りの文字列を解析します。

0

機能AcceptPathInfoこの種の命名はApache:

このディレクティブは、実際のファイル名(または既存のディレクトリに存在しないファイル)を以下の末尾のパス名の情報を含む要求が受け入れられるか、拒否されるかどうかを制御します。末尾のパス名情報は、PATH_INFO環境変数のスクリプトで使用できるようにすることができます。

たとえば、/test/という場所が、単一のファイルhere.htmlのみを含むディレクトリを指しているとします。 /test/here.html/more/test/nothere.html/moreの両方の要求は、/morePATH_INFOとして収集します。

あなたは$_SERVER['PATH_INFO']とその環境変数にアクセスすることができます。

が利用可能な場合は、実際のスクリプトのファイル名の末尾が、クエリ文字列の前の任意のクライアントが提供するパス名情報が含まれています。たとえば、現在のスクリプトがURL http://www.example.com/php/path_info.php/some/stuff?foo=barでアクセスされた場合、$_SERVER['PATH_INFO']には/some/stuffが含まれます。

Apache Webサーバを持っていないか、AcceptPathInfoを使用できない場合は、おそらくあなたのファイルにそのような要求を書き換え、何とか要求されたURIからのパス情報の一部を取得するために他のメカニズムを使用することができます。

+0

私はそれに感謝の仲間を見ていきます。 – Wesley

+0

私は自分のLinuxサーバーをロッテルダムのデータセンターで稼働させているので、問題はありません。 – Wesley

+0

@Wesley:このノートは、あなたがApacheを使用していないが、IIS、lighttpd、nginxなどの別のWebサーバーソフトウェアを使用している場合、または独自のサーバーを持たない場合や、 (共有ホスト上のように)それを使用するための許可が必要です。 – Gumbo

関連する問題