2010-12-12 6 views
1

私は、複数のフォルダとサブフォルダにまとめられた複数のPHPファイルを用意しています。私はinclude('sidebar.php')を使って同じPHPページを各ページに含めました。私の問題は、このsidepar.phpには私のサイトのページへのリンクが含まれていることです。サブフォルダからファイルをクリックすると、posts/post.phpではなくposts/posts/post.phpのようなリンクになります。ページがルートフォルダにある場合、PHPにページを含めるにはどうすればいいですか?

どうすればこの問題を解決できますか?

ああ、別のサブフォルダのファイルにルートフォルダからファイル(include();)を含めることは可能ですか?

+0

あなたは絶対パスを使用する必要があります、Vincent [推奨](http://stackoverflow.com/questions/4422973/how-to-include-a-page-in-php-if-its-in-the-ルートフォルダ/ 4422989#4422989)。 –

答えて

1

あなたは、このようなルートからのリンクのURLを指定する必要があります。

<a href="/folder/folder/page.php">Link</a> 

先頭のスラッシュがキーです。

+0

ありがとう! – coolboycsaba

+0

別の質問:ルートフォルダからファイルをインクルードする場合、同じ方法でうまくいきますか? – coolboycsaba

+0

@coolboycsabaはい。先頭のスラッシュは、ルートを基準にしてすべてのURLを解釈するため、どこでもスラッシュを使用できます。 –

0

リンクの前にスラッシュを追加できます。例えば

<a href="/posts/post.php">Posts</a> 

それは任意のページで動作しますこの方法。

0

これは、ドキュメント内で使用しているURL参照の問題ではないようです。

相対URLは、特に指定がない場合は現在のURLであるベースURLから解決されることに注意する必要があるため(BASE elementを参照)、したがって、posts/post.phpのような相対URLパスは、ベースURLパス/posts/post.phpから解決され、結果は/posts/posts/post.phpとなります。

/posts/post.phpなどのURL参照内の絶対パスを使用して修正できます。