Pfad in Href

Status
Für weitere Antworten geschlossen.

blackfox

Benutzer
Mitglied seit
07. Jan 2008
Beiträge
98
Punkte für Reaktionen
0
Punkte
0
Guten Abend Synology-Community.

Damit ich mein Problem beschreiben kann, muss ich leider etwas weiter ausholen und hoffe dabei auf eure Unterstützung oder hilfreiche Tipps.

Seit vielen Jahren entwickle ich bereits an einem kleinen Templatesystem, basierend auf PHP. Das System liegt auf der Entwicklungsumgebung (DS) unter "http://SERVERNAME/PROJEKTE/PROJEKT1/..." In diesem System kann ich Seiten anlegen und diesen unterschiedliche Einstellungen zuweisen ua. die Startseite (in diesem Fall seite1). Diese Seiten befinden sich in einem Array, welches strukturell ungefähr so ausschaut:

PHP:
$array['seiten']['seite1'] ...	
$array['seiten']['seite2'] ...
$array['seiten']['seite3'] ...

Nun gibt es verschiedene Objekte, die auf dieses Array zu unterschiedlichen Verwendungszwecken zugreifen. In diesem Fall zb. das Menü-Objekt zur Navigation der Seite. Es durchläuft dieses Array und erzeugt HTML-Code mit einem Link und dem passenden Href was dann in etwa so ausschaut:

HTML:
<li><a href="start.php?seite=seite1">Seite1</a></li>
<li><a href="start.php?seite=seite2">Seite2</a></li>
<li><a href="start.php?seite=seite3">Seite3</a></li>

Soweit so gut. Die start.php prüft nun beim Aufruf auf Übergabe von "$_GET -> seite". Wenn da nichts kommt, wird die erste Seite angezeigt. Online wäre man also noch auf www.domain.de. Würde man nun "start.php?seite=seite1" aufrufen, wäre das für Suchmaschinen eine weitere Seite und ich produziere damit double-Content.

Nun zum Problem:
Um double-Content zu vermeiden, prüfe ich beim Generieren des Menüs auf die Startseite und ändere den Link im Href auf "/" ab. Nun kann ich auf "Seite1" im Menü klicken und es wird immer die Hauptdomain angezeit. Wunderbar. Nutze ich jetzt jedoch diese Verfahrensweise auf dem Entwicklungsserver (DS), greift der Link immer auf "http://SERVERNAME/" zu.

Nun meine Frage:
Löse ich das Problem richtig und muss jetzt nur noch vhosts auf der DS anlegen oder gibt es andere Lösungsansätze? Prinzipiell ist das "Verhalten des Links" ja korrekt. Online funktioniert das, weil ich auf www.domain.de ja keine weiteren Verzeichnisse habe bzw. das Projekt in root liegt. Den kompletten Link im Href anzuzeigen will ich vermeiden. Auch den Base-Href zu verwenden.

Nicht ganz einfach zu verstehen, aber wie gesagt hoffe ich auf eure Tipps um gemeinsam zu einer guten Lösung zu gelangen.

Danke.
 
Zuletzt bearbeitet:

thedude

Benutzer
Mitglied seit
30. Nov 2009
Beiträge
2.244
Punkte für Reaktionen
2
Punkte
84
Kannst du nich einfach auf dem Testsystem statt auf / zu ändern auf /PROJEKTE/PROJEKT1/ substituieren? Und vorm live schalten ändern. Per config file z.b....

Gruss
Dude
 

blackfox

Benutzer
Mitglied seit
07. Jan 2008
Beiträge
98
Punkte für Reaktionen
0
Punkte
0
Das würde funktioieren, ja. Nür müsste man dann immer dran denken vor Upload die config anzupassen. Mir stellen sich nun zwei Fragen:

1) Machen das andere Webmaster auch so (config vor Upload ändern)?
2) Wäre das Problem in einem PHP-Fachforum besser aufgehoben?
 

thedude

Benutzer
Mitglied seit
30. Nov 2009
Beiträge
2.244
Punkte für Reaktionen
2
Punkte
84
1) Kann ich dir nicht beantworten. Da hat wohl jeder seine eigenen Tricks denke ich mal. ;)
2) Nun dazu isses jetzt auch zu spät. ;) Aber das Problem lässt sich auch mit DS Mitteln (siehe unten) bekämpfen... von daher is das schon ok hier.

Du kannst auch vhost nutzen. Und dann für jedes Projekt einen aufsetzen. Anleitung im Wiki

Oder Du versucht was mit mod_rewrite zu basteln.

gruss
dude
 

blackfox

Benutzer
Mitglied seit
07. Jan 2008
Beiträge
98
Punkte für Reaktionen
0
Punkte
0
Vhost hatte ich ja anfangs angesprochen. Klar, nur müsste ich dann wohl für jedes Projekt einen eigenen vhost anlegen. Nun gut. Ich werde diese Thema parallel mal in einen Fachforum erläutern und auf die Problematik config ändern eingehen. Danke schonmal.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Und wenn du Pfade à la ./start.php?seite=1 verwendest? Passt sowohl direkt im DocRoot als auch in Unterverzeichnissen...
 

blackfox

Benutzer
Mitglied seit
07. Jan 2008
Beiträge
98
Punkte für Reaktionen
0
Punkte
0
Habe es nun so gelöst wie von dude vorgeschlagen. Ich setze dabei eine URL-Variable ein und habe somit die Fehlerquelle beim Upload ausgeschlossen. Es wird hierdurch immer die aktuelle URL eingesetzt.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat