You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, February 24th 2009, 3:40pm

Problem mit dem absoluten Path Local/Webspace

Hallo. Also ich bin ja gerade dabei mein Script so umzuschreiben, dass ich Suchmaschienen optimierte links habe.

Da ich aber so schlampig gearbeitet habe, habe ich immer nur z.b. <img src="images/bild.jpg"> angegeben. Das ganze wird nur leider nicht mehr angezeigt, nachdem ich die Seite
http://localhost/seite/index.php?action=test
mit
http://localhost/seite/test/ aufrufe

Der Absolute Path liegt
local bei http://localhost/seite/images/bild.jpg
und online bei
http://seite.de/images/bild.jpg

Jetzt hab ich mir

PHP Quellcode

1
$_SERVER
einmal printen lassen. Aber dort gibt es auch keine Pathangabe die ich verwenden kann.

Ist es somit eigentlich nicht möglich, das ganze soweit Local zu programmieren und es nachher, nach fertigstellung auf meinem Webspace 1:1 zu übertragen?

Danke an euch im Vorraus.

2

Tuesday, February 24th 2009, 4:22pm

Versuchs nochmal mit globalen Variable $_SERVER mit dem Wissen, dass du für eine komplette Pfadangabe verschiedene Inhalte von $_SERVER zusammensetzten musst.

3

Tuesday, February 24th 2009, 6:00pm

Hi,

das kannst du auch mit reinem HTML lösen.
Das Stichwort dazu heißt base href

Quoted

Adressbasis
Sie können innerhalb einer HTML-Datei, die Sie auf einem WWW-Server ablegen, nochmals deren internet-weit eindeutigen, genauen URI notieren. Ein Web-Browser, der diese Information ausliest, kann in Fehlersituationen besser auf verknüpfte oder referenzierte Dateien zugreifen. Bei Seite Projektverweisen zu anderen HTML-Dateien und bei Referenzen von Kapitel Grafiken oder Kapitel Multimedia gilt die hier definierbare Basis als Bezug.

http://de.selfhtml.org/html/kopfdaten/basis.htm

wird auch hier bei easy-coding verwendet ;)

4

Tuesday, February 24th 2009, 7:22pm

Hey danke euch beiden schonmal.
d0nuts Lösung ist ein wenig einfacher umzusetzen. Man lernt doch wirklich nie aus.

Bis jetzt funktioniert das ganze wie gewollt. Wenn aber noch Probleme auftreten, hoffe ich hier nochmal reinschreiben zu dürfen. Hake das Thema aber erstmal als erledigt ab

This post has been edited 1 times, last edit by "Snowflake" (Feb 24th 2009, 7:54pm)


5

Wednesday, February 25th 2009, 12:32am

Okay jetzt hab ich alle 600 Links oder so ersetzt. Puh.. ^^



Aber gibt es auch noch ein kleinen Trick für Header Location's?

Und zwar sieht mein Link so aus:

http://localhost/ordner/seite/var/wert

Wenn ich jetzt per header Loaction weiterleiten will.

PHP Quellcode

1
header('Location: seite2/var/wert');

wird das ganze nur an die vorhandene URL angehangen.


Setze ich ein Slash davor, wird das ganze natürlich als root verzeichnis interpretiert.

PHP Quellcode

1
header('Location: /seite2/var/wert');
=> http://localhost/seite2/var/wert


Wenn es da keine Hilfen gibt, erstelle ich mir einfach eine Variable $siteroot...setze da meinen Path und benutze das dann als angabe.

Danke an euch im Vorraus

This post has been edited 1 times, last edit by "Snowflake" (Feb 25th 2009, 12:51am)


6

Wednesday, February 25th 2009, 8:55am

Wenn es da keine Hilfen gibt, erstelle ich mir einfach eine Variable $siteroot...setze da meinen Path und benutze das dann als angabe.


Meiner Meinung nach sowieso BestCase.
Das hättest du dir auch für deine 600Links machen sollen ;)

7

Wednesday, February 25th 2009, 1:34pm

Okay dann mache ich das so, wenn das auch gleichzeitig die beste Lösung ist.
Ne für die 600 Links habe ich das ja mit d0nuts Hilfe und base href lösen können.

Ich musste nur von index.php?action=seite&var=wert
das ganze auf seite/var/wert ändern.

Aber danke für eure Hilfe. :)

8

Wednesday, February 25th 2009, 4:09pm

Hallo nochmal. Habe noch ein letztes Problem was gerade aufgetaucht ist.

Und war mit den Ajax Requesten auf meiner Seite. Ich gebe in meinem Ajax Request die Url so an: "seitenname.php"
Im Internet Explorer 7 und Firefox 2/3 habe ich gar keine Probleme. Jedoch mag Opera das ganze nicht so wirklich.


Rufe ich die Seite ohne URL Mapping auf. Dann funktioniert das ganze Request.

Source code

1
http://localhost/ordner/index.php?action=seitenname&id=5 


Jedoch wenn ich dann mit URL Mapping arbeite, liefert das Ajax Request kein ergebnis mehr und der http request status Code ist 404

Source code

1
http://localhost/ordner/seitenname/id/5


Ändere ich dann "seitenname.php" zu http://localhost/ordner/seitenname.php geht das ganze wieder.
Nur Opera spinnt rum und das ganze nur wenn ich GET Werte an die Suchmaschienen Optimierte URL hänge. Sprich in dem fall /id/5

Heißt das zwangsläufig für mich, dass ich den ganzen Path für das Request benutzen muss?

9

Wednesday, February 25th 2009, 7:11pm

RE: Problem mit dem absoluten Path Local/Webspace

Ist es somit eigentlich nicht möglich, das ganze soweit Local zu programmieren und es nachher, nach fertigstellung auf meinem Webspace 1:1 zu übertragen?

Immer als Pfad /images/* verwenden und lokal einfach auch mit virtuellen Hosts arbeiten? :)

Ich habe früher z.B. mit projekt.localhost, dies.localhost, das.localhost, ... gearbeitet (mittlerweile nur noch direkt auf den Servern und über svn) und denn Pfad in dem deine index.php liegt kannst Du z.B. so wie ich unabhängig von der Umgebung herausfinden lassen:

PHP Quellcode

1
define("BASEPATH", str_replace("public", "", dirname(__FILE__)));

10

Wednesday, February 25th 2009, 8:31pm

Hey philippgerard danke für dein Posting.
Hm das wäre wirklich eine Idee gewesen direkt auch lokal mit virtuellen Hosts zu arbeiten. Das sollte ich mir angewöhnen, dankeschön. Und für den Tipp mit dem Path sag ich auch schonmal danke. :)



Jetzt besteht nur leider immernoch das Problem mit dem Ajax Request.
Arbeitet ihr bei Ajax mit den kompletten Path angaben..oder gebt ihr auch eigentlich nur den Dateinamen an?

11

Thursday, February 26th 2009, 9:32am

Ich lasse bei mir alle URIs automatisch per PHP generieren, daher ist bei mir immer der volle Pfad enthalten. Das würde ich bei Dir einfach auch empfehlen :). Oder halt die einfache Version mit $path."url.php";

12

Thursday, February 26th 2009, 10:09am

Ich würde niemals statisch den gesamten Pfad irgendwo eintragen.

Wenn du das System irgendwann einmal portieren möchtest, hast du verloren.
Du wirst auch schon probleme bekommen, wenn du einen Testserver (sei es lokal oder per remote) aufsetzen möchtest.

Ich habe es einmal gesehen und mitgemacht, dass überall mit absoluten Pfadangaben gearbeitet wurde und ich muss sagen, dass es die Hölle war.
Spass = 0, Frustration = 100 , da es bei jedem Script Probleme gab und man wirklich nur 100%ig auf dem LiveSystem testen konnte :thumbdown:


Du solltest immer alles dynamisch machen. Sei es absolut oder relativ.

Social bookmarks