modrewrite
Honda
- webserver
0 Christian Seiler0 Honda
Hallo,
ich habe folgende rewriterule:
RewriteRule ^(.*)/(.*)(.html?)$ text.php?A=$1&B=$2 [L]
Problem:
Alle relativen Pfade der entsprechenden Dateien (für stylsheets, javascripts, etc.) stimmen nun nicht mehr, da ja nun Dateiordner simuliert werden.
Wie bekomme ich es hin, dass ich die Datei sowohl als
text.php?A=1&B=2
also auch
/1/2.html
aufrufen kann, ohne alle Pfade in absolute umschreiben zu müssen?
Merci,
Honda
Hallo Honda,
Wie bekomme ich es hin, dass ich die Datei sowohl als
text.php?A=1&B=2also auch
/1/2.htmlaufrufen kann, ohne alle Pfade in absolute umschreiben zu müssen?
Du könntest im PHP-Script in Abhängigkeit von $_SERVER['REQUEST_URI'] Dir die relativen Pfade dynamisch zusammenbasteln und diese dann ausgeben - das ist aber *viel* mehr Arbeit, als die Pfade einfach in absolute umzuschreiben.
Eine weitere Alternative wäre, das <base>-Element in HTML zu nehmen, D.h. <base href="irgendwas"> zu machen - der Browser bezieht dann alle Bilder, Stylesheets etc. auf diese Basisadresse und nicht auf den eigentliche geladenen URI - hat allerdings den Nachteil, dass Anker-Links (href="#foo") sich auch darauf beziehen - und deswegen beim ersten Sprung die Seite komplett neu geladen wird. Ferner könnte es noch zu anderen Nebeneffekten kommen, wenn Du <base> einsetzt. In SELFHTML wird das <http://de.selfhtml.org/html/kopfdaten/basis.htm#adresse@title=<base>-Element beschrieben>.
Ich würde als Lösung absolute Pfade nehmen.
Viele Grüße,
Christian
Hi Christian,
Ich würde als Lösung absolute Pfade nehmen.
Viele Grüße,
Christian
Gibt es vielleicht eine möglichkeit in der .htaccess eine Regel festzulegen, die die entsprechenden Ordner bei den relativen Links hinzufügt?
Gruß,
Honda
Hallo Honda,
Gibt es vielleicht eine möglichkeit in der .htaccess eine Regel festzulegen, die die entsprechenden Ordner bei den relativen Links hinzufügt?
Nicht Out-of-the-Box - und mir ist auch kein Zusatzmodul für den Apachen bekannt, das das tun würde (selbst wenn das existiert, würde das auch erst installiert werden müssen).
Mal von vorne: Warum genau müssen eigentlich die relativen Links in *beiden* Fällen stimmen? Und wo genau liegt Dein Problem mit absoluten Links?
Viele Grüße,
Christian
Hi Christian,
Mal von vorne: Warum genau müssen eigentlich die relativen Links in *beiden* Fällen stimmen? Und wo genau liegt Dein Problem mit absoluten Links?
Das Problem liegt darin, dass es 3 Domains (Endungen at/de/ch) gibt mit der die Seiteninhalte dargestellt werden.
Wenn also jemand unter der .at-Domain einloggt, dann würde bei Absoluten Pfaden nur mehr 1 Domain möglich sein,.. oder sehe ich das falsch?
Gruß,
Honda
Hallo Honda,
Mal von vorne: Warum genau müssen eigentlich die relativen Links in *beiden* Fällen stimmen? Und wo genau liegt Dein Problem mit absoluten Links?
Das Problem liegt darin, dass es 3 Domains (Endungen at/de/ch) gibt mit der die Seiteninhalte dargestellt werden.
Wenn also jemand unter der .at-Domain einloggt, dann würde bei Absoluten Pfaden nur mehr 1 Domain möglich sein,.. oder sehe ich das falsch?
Naja, Du brauchst ja nicht absolut absolute Pfade nehmen, Du kannst ja auch "serverrelative" Pfade nehmen, d.h. Pfade, die zum Document-Root absolut sind - aber halt nicht insgesamt absolut. ;-)
Sprich sowas wie:
<img src="/foo/bla.png" alt="">
<a href="/x/y">...</a>
Oder verstehe ich Dein Problem falsch?
Viele Grüße,
Christian
Naja, Du brauchst ja nicht absolut absolute Pfade nehmen, Du kannst ja auch "serverrelative" Pfade nehmen, d.h. Pfade, die zum Document-Root absolut sind - aber halt nicht insgesamt absolut. ;-)
Sprich sowas wie:
<img src="/foo/bla.png" alt="">
<a href="/x/y">...</a>
Merci,.. hiermit funktioniert es nun bestens.
Honda
Hallo!
Wenn also jemand unter der .at-Domain einloggt, dann würde bei Absoluten Pfaden nur mehr 1 Domain möglich sein,.. oder sehe ich das falsch?
Schreib einfach: http://example.at/css/styles.css
Der ist auch von einer .de oder .ch-Domain aus erreichbar.
ciao, ww