Htaccess Probleme mit "/"
MacDef
- browser
Hey,
momentan wandele ich meine urls wie folgt mittels htaccess um:
bsp.:
RewriteRule wettbewerbe_([a-zäÄöÖüÜß]+)$ wettbewerbe.php?site=$1 [L]
ich erreiche damit folglich urls wie z.b.: "...".de/wettbewerbe_start
Nun möchte ich aber statt dem "_" ein "/", da es einfach schöner und übersichtlicher aussieht (vor allem bei ein paar mehr parametern). Dies führt aber leider zu Problemen. Entweder er zeit die Seite gar nicht an (404-Fehler) oder er zeigt sie nur sehr fragmentiert an.
D.h missachtet mehrere "includes" anderer php-files
Ich habe in der htaccess nur das "_" gegen ein "/" ausgetauscht.
Wirft das "/" vielleicht an irgendeiner stelle den Pfad durcheinander?
Vielleicht habt ihr ja Ideen..
Danke im Voraus
MacDef
Mahlzeit,
es ist schwer etwas dazu zusagen, ohne zu wissen, was Du genau treibst. Zum Beispiel wie Du welche Seiten includierst. Eigentlich sollte es kein Problem sein, da die Includes ja unabhängig von der URL sind und auf der Serverseite direkt ausgeführt werden. Kann man das Problem irgendwo sehen?
Vielleicht kannst Du eine abgespeckte Version irgendwo online stellen, um das Problem nachzustellen und sehen zu können?
the-FoX
Hallo,
RewriteRule wettbewerbe_([a-zäÄöÖüÜß]+)$ wettbewerbe.php?site=$1 [L]
Nun möchte ich aber statt dem "_" ein "/", da es einfach schöner und übersichtlicher aussieht (vor allem bei ein paar mehr parametern). Dies führt aber leider zu Problemen.
ja, das ist logisch.
Überleg mal, wie dein Browser diese URLs sieht. Er ruft das Dokument
/wettbewerbe/start
auf, darin wird z.B. ein Stylesheet oder eine Grafik relativ adressiert:
<img src="image.png" alt="bild">
Nun wird dein Browser aus dieser relativen Angabe anhand der Dokument-URL erst mal eine absolute URL "basteln". Und er bekommt /wettbewerbe/image.png heraus, denn er "glaubt" ja, er hätte das Dokument "start" aus dem Verzeichnis "wettbewerbe" abgerufen. Falsch, oder?
Die Konsequenz ist, dass du alle eingebundenen Ressourcen absolut adressieren musst, damit die Bezüge wieder passen.
D.h missachtet mehrere "includes" anderer php-files
PHP-includes dürften davon eigentlich nicht betroffen sein, weil PHP direkt auf Dateiebene arbeitet und vom URL-Rewriting nichts mitbekommt (wenn man es nicht explizit abfragt).
So long,
Martin