2017-02-08 7 views
1

私は、ファイル「menu.php」が含まれてい不正なリダイレクトが

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

をそして、それが正常に動作しています。私が入力したindex.phpの中

しかし、今..私は、「データ」というフォルダを作成し、その中で私が「index.phpを」というファイルを作成し...

<?php 
include("../menu.php"); 
?> 

ホーム::データ/ index.phpを ログアウト:「データ/ index.phpを」を閲覧しながら、

は、だから今のメニューはリンクがある...あまりにも「データ/ index.phpを」で表示されますが、データ/ logout.php

データなしでindex.phpとlogout.phpを作る方法/?

+0

@JensV - Now it redirect to the main root directory of the domain ... While menu.php is not in the root directory. – Jacksweet

+0

If your files are not located in the root of the webserver you should consider having absolute paths everywhere. E.g. '/dir/of/your/files/index.php' Also to achive this in php you can prepend your paths with '$_SERVER['DOCUMENT_ROOT']' – JensV

答えて

1

使用この代わりに

<a href="/index.php">Home</a><br /> 
<a href="/logout.php">Logout</a> 

またはあなたが

<a href="/subfolder/index.php">Home</a><br /> 
<a href="/subfolder/logout.php">Logout</a> 
+0

のように見える今ではにリダイレクトするように、スラッシュと、HTMLでURLを付加することですドメインのメインルートディレクトリ... menu.phpはルートディレクトリにありません。 – Jacksweet

+0

@Jacksweetあなたはサブフォルダを使用していますか? –

+0

はい。 。 。 。 。 。 。 – Jacksweet

0

サブフォルダを使用している場合サブフォルダハデスとリンクを回避する1つの方法は

<base href="/">を宣言することです

あなたのhtmlの先頭に。すべてのリンクはドキュメントルートからの相対パスになります。あたかも各ページが本当にドキュメントルートレベルにあるかのように、menu.phpは(すべてのサブフォルダレベルで)機能することができます。

これが興味のある場合、例としていくつかのコードを書き上げることができます。この方向を向ける大きな理由の1つは、他の多くのコードを変更する必要がないようにすることです。あなたが既に狂ったサブフォルダを克服しようとしている多くのコードを持っているなら、この方法をとる悪い理由の一つです。

0

サブフォルダのパスやウェブサイト全体で使用されるその他の変数を保存するPHPファイルを作成できます。

variables.php

$path = '/subfolder/'; 

menu.php

 include('variables.php'); 
    global $path; 

    <a href="<php echo $path ?>index.php">Home</a><br /> 
    <a href="<php echo $path ?>logout.php">Logout</a> 
関連する問題