2011-08-08 22 views
0

私は本当にこれに簡単な解決策があることを願っています。親ディレクトリとPHP

<?php include("header.php"); ?> 

のは、私は単にheader.phpのを題した私のルートフォルダにあるPHPのヘッダを持っているとしましょう。そのヘッダーには、ホームページへ戻るリンクmain.phpがあり、main.phpもルートにあります。これまでのところ問題ありません。ここにあるのはheader.phpのようです。シンプルなもの、そう?

<link href="style.css" rel="stylesheet" type="text/css" /> 

<div id="headerwrap"> 

     <div id="linkbox"> 
      <a href="main.php"><img src="images/mainlogo.png" /></a> 
     </div><!-- End linkbox --> 

</div> 

しかし、私はサブディレクトリに他のページがあるとしましょう。 Subpage.phpは、ルートの子ディレクトリに配置され、そしてそれは含まheader.phpのを取得するために戻って根に見なければなりません。

バック main.phpにし、またその header.phpのリンクしているいずれも、スタイルシート、を除いて、大したことではないでしょう
<?php include("../header.php"); ?> 

* subpage.phpのディレクトリしたがって、Subpage上の誰かがヘッダー内のリンクを介してMainに戻ろうとすると、エラーが発生します。私は願っています

は、この作品を作るための簡単な方法があります、と私はコピーして、すべてがすべてのサブディレクトリに含まれてリダイレクトする必要がありません。また、実際に合理的にすべてをルートに含めるには、あまりにも多くのページがあります。この回答が他の場所に掲載されている場合は、申し訳ありません。私は見てきましたが、私が探しているものは本当のアイデアはありません。ご協力いただきありがとうございます。すべてが意味をなさないことを願っています。絶対リンクを使用する方法について

答えて

0

方法。あなたがベースとしてそのURLを使用することができます

<base href="http://yoursite.com/" /> 

この方法:

<?php include($_SERVER['DOCUMENT_ROOT'].'/header.php"); ?> 
0

あなたはbase htmlタグを使用することができます。header.phpのも、その後何のトラブルがあってはならない、絶対にmain.phpを参照する必要がありますあなたのすべてのリンク/スタイルシート/画像のために、あなたがサブディレクトリにあるかどうか心配する必要はありません。

0

行うための最善のことは、どのようなディレクトリにあなたがしているようあなたは何の混乱を持っていない方法

$_SERVER['DOCUMENT_ROOT'] 

を使用しての習慣に取得することです、など

そうのためのあなたのヘッダーを含みます

include $_SERVER['DOCUMENT_ROOT'] . "/header.php"; 
1

あなたはheader.phpの中だけでハードコードmain.phpのパスができます:

を例は、のような単純なものでしょう
<a href="http://website.com/main.php"><img src="http://website.com/images/mainlogo.png" /></a> 
1

PHPのPROBに対向するように、これは、HTML PROBと思わ..

あなたのリンクは、前/即ち相対リンクであるべきです

<a href="/main.php"> Text </a> 

代わりの

<a href="main.php"> Text </a> 
関連する問題