PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RElative Adressierung, aber absloluter link


etron770
20.08.2004, 12:09:28
Nun muss ich nochmal nachfragen wie PHP die Adressierung durchführt

Im Aufruf des nachfolgenden Scriptes kann man erkennen, das PHP immer den absoluten Pfad einfügt.
Ist ja wohl auch eigentlich richtig, nur ist es damit unmöglich (zu indestens mit dem Confix Menü) eine URL vom (virtuellen) Root Verzeichnis auf ein /PHP Verzeichnis zu verschieben.

Irgendetwas habe ich da noch nicht geblickt, denn bei meiner Homepage findet er dann nach der ersten Seite kein Bild und keine weitere Seite mehr.

Das Script liegt : http:www.einthal.de/php/test1.php



<html>

<head>
</head>

<?PHP

$root_url="http://www.einthal.de";
echo "Variable root_url: " .$root_url ."<BR>";

$datei = substr_replace("/test/index.html",$root_url,0, 0);
echo "Datei: " .$datei ."<BR>";
echo '<a href="' . $datei . '"> Link</a>';
echo "<BR>";



$root_url="";
echo "Variable root_url: " .$root_url ."<BR>";

$datei = substr_replace("/test/index.html",$root_url,0, 0);
echo "Datei: " .$datei ."<BR>";
echo '<a href="' . $datei . '"> Link</a>';
echo "<BR>";


$root_url="xyz";
echo "Variable root_url: " .$root_url ."<BR>";

$datei = substr_replace("/test/index.html",$root_url,0, 0);
echo "Datei: " .$datei ."<BR>";
echo '<a href="' . $datei . '"> Link</a>';
echo "<BR>";


?>
</BODY></HTML>

xabbuh
20.08.2004, 19:06:30
Dein Problem ist mir noch nicht wirklich klar geworden. Ich habe aber eine Sache in deinem Script gefunden, die man besser machen sollte:

Original geschrieben von etron770

<?PHP

$root_url="http://www.einthal.de";
echo "Variable root_url: " .$root_url ."<BR>";

$datei = substr_replace("/test/index.html",$root_url,0, 0);
echo "Datei: " .$datei ."<BR>";
echo '<a href="' . $datei . '"> Link</a>';
echo "<BR>";
?>

substr_replace() ist hier sinnlos. Du willst ja eigentlich nur /test/index.html an die Variable $root_url anhängen.

Das kannst du ganz einfach so machen:

<?php
$root_url = "http://www.einthal.de";
$datei = $root_url . "/test/index.html";
?>


Dein Problem an sich müsstest du nochmal näher erläutern.

etron770
20.08.2004, 19:28:06
Das Substring ist aus anderen Gründen drin gewesen, weil mehr Code darum war.

Ich verstehe das Problem selber noch nicht, aber da kommen wir jetzt vom PHP weg.

Auf der Homepage
http://www.einthal.de

ist die Startdatei:
http://www.einthal.de/php/index.php

Zusätzlich habe ich ein paar Error-scripts.

Erst hatte ich in der .htaccess das errorscript vom root:

ErrorDocument 404 /error404.php
Redirect 301 /index.html http://www.einthal.de/php/index.php

Da ging der Redirect aber das Errordokument wurde als File aufgerufen nicht als Errordokument, sprich die 404 Seite war nicht mehr auszulesen.

Als ich dann im Verzeichnis /discus eine zweite Errorseite einrichten wollte dacht ich:

Das System hat confixx als Administrationstool, fein gebe ich da die Errordukuments ein.

Da habe ich dann die Errorfiles eingegeben dann funktionierte das Errohandling aber der redirect ging nicht.

Also versuchte ich die Homepage URL mit Confixx auf das Startverzeichnist php zu legen und ich hatte eine verschachtelte Startseite (fünf mal Aufruf der Startseite jedes mal neu im Iframe) und die Bilder usw. wurden nicht mehr gefunden.
Da sagte der Webmaster ich dürfte keine absoluten Links benutzen.

Egal wie ich es mache es werden immer absolute Links verwendet , obwohl ich nur relativ zum Verzeichnis adressiere
also ../ usw.
Zusätzlich bin ich drauf gekommen dass die funktion file_exist (siehe anderer Tread) dann noch den absoulten Pfad der Maschine nicht des Virtuellen Servers nimmt. Also blicke ich überhaupt nicht durch was wann wie welchen Pfad nimmt und ausgibt :-(


Derzeit funktioniert alles, aber ich weiss nicht warum, eventuell weil ich zufälliger Weise nach mehreren Stunden die richtige Reihenfolge zwischen Confixx und .htacces Änderung genommen habe.

Alle Klarheiten beseitigt - bei mir schon ;-)

xabbuh
20.08.2004, 20:00:07
Original geschrieben von etron770
Alle Klarheiten beseitigt - bei mir schon ;-)
So gehts mir auch ;-) Bis ich da durch getiegen bin, wird es wohl noch ein wenig dauern.