2010-12-12 5 views
1

So habe ich mehrere PHP-Dateien in mehreren Ordnern und Unterordnern organisiert. Ich habe die gleiche PHP-Seite in jede Seite mit include('sidebar.php') aufgenommen. Mein Problem ist, dass diese sidepar.php enthält einen Link zu Seiten von meiner Website und wenn ich aus einer Datei aus einem Unterordner klicken, ist der Link etwa so: posts/posts/post.php anstelle von posts/post.php.Wie fügt man eine Seite in PHP ein, wenn sie sich im Stammverzeichnis befindet?

Wie könnte ich das beheben?

Oh, und wie ist es möglich, eine Datei (include();) aus dem Stammordner in eine Datei aus verschiedenen Unterordnern aufzunehmen?

+0

Sie müssen absoluten Pfad verwenden, wie Vincent [vorgeschlagen] (http://stackoverflow.com/questions/4422973/how-to-include-a-page-in-php-if-its-in-the- Stammordner/4422989 # 4422989). –

Antwort

1

Sie müssen den Link-URLs von der Wurzel wie folgt spezifizieren:

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

Der führende Schrägstrich ist der Schlüssel.

+0

Danke das ist es! – coolboycsaba

+0

Eine andere Frage: Wenn ich eine Datei aus dem Stammordner aufnehmen möchte, sollte die gleiche Methode funktionieren? – coolboycsaba

+0

@coolboycsaba Ja. Sie können den führenden Schrägstrich überall verwenden, da dadurch alle URLs relativ zum Stamm interpretiert werden. –

0

Sie könnten versuchen, einen Schrägstrich vor dem Link anzuhängen.

Zum Beispiel:

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

diese Weise ist es in jeder Seite zu arbeiten.

0

Dies scheint eher ein Problem mit den URL-Referenzen, die Sie in Ihren Dokumenten verwenden.

Da Sie wissen müssen, dass relative URLs von einer Basis-URL aufgelöst werden, die die aktuelle URL ist, wenn nicht anders angegeben (siehe BASE element). So wird ein relativer URL-Pfad wie posts/post.php aus dem Basis-URL-Pfad /posts/post.php aufgelöst, was zu /posts/posts/post.php führt.

Sie können dies beheben, indem Sie absolute Pfade innerhalb Ihrer URL-Referenzen wie /posts/post.php verwenden.