URL-Rewriting
RuD
- webserver
Seid gegrüßt!
ich habe nach langer Zeit auch mal wieder ein Anliegen.
Es betrifft URL-Rewriting. Schema wäre wie folgt:
Ich habe die URL
http://example.org/subdfolder/suburl.php?url=text.html
Ich möchte aber folgendes haben
http://example.org/subdfolder/suburl/url=text.html
Mein Versuch der .htaccess sieht wie folgt aus:
RewriteCond %{REQUEST_URI} suburl
RewriteRule suburl/(.*) suburl.php?url=$1
Leider fruchtet es nicht. Kann mir jedmand nen Anhaltspunkt geben, nach welchen Schema dies genau funktioniert.
BTW. ich finde die Apache-Doku hierzu recht kurz gehalten und meine Goolge-Suche hat hier auch nicht wirklich brauchbare Anleitungen geliefert.
Evtl. kann ja auch einer nen Link zu steuern?
Vielen Dank schon mal.
Ich habe die URL
http://example.org/subdfolder/suburl.php?url=text.html
Ich möchte aber folgendes haben
http://example.org/subdfolder/suburl/url=text.html
RewriteEngine on
RewriteRule ([^/]+)/suburl/url=(.+) /$1/suburl.php?url=$2 [L,QSA]
mfg Beat
Seid gegrüßt!
Ich habe die URL
http://example.org/subdfolder/suburl.php?url=text.html
Ich möchte aber folgendes haben
http://example.org/subdfolder/suburl/text.htmlRewriteEngine on
RewriteRule ([^/]+)/suburl/(.+) /$1/suburl.php?url=$2 [L,QSA]
Vielen Dank. Ich hatte mich vertippt (gleich mal kurz korrigiert ;-))
Aber leider verschwindet hier der Referer, was hier nicht so schön ist. Da muss ich das wohl oder übel mit dem Rewriting vergessen. Oder ich teste noch etwas.
Dennoch Danke.
Aber leider verschwindet hier der Referer, was hier nicht so schön ist. Da muss ich das wohl oder übel mit dem Rewriting vergessen. Oder ich teste noch etwas.
Du solltest eher alles vergessen, was den Referrer auswertet.
mfg Beat
Seid gegrüßt!
Du solltest eher alles vergessen, was den Referrer auswertet.
Normalerweise stimme ich dir hier zu. Nur ist es in diesem Fall so, dass ich externe Seiten (von nem Fremdanbieter) einbinde. Diese lassen sich aber nur in der korrekten Form einbinden, wenn ein Referrer und ein User-Agent gesetzt sind. Darauf habe ich aber keinen Einfluss.
Leider.
Hi,
Du solltest eher alles vergessen, was den Referrer auswertet.
Normalerweise stimme ich dir hier zu. Nur ist es in diesem Fall so, dass ich externe Seiten (von nem Fremdanbieter) einbinde.
Definiere „einbinden“.
Diese lassen sich aber nur in der korrekten Form einbinden, wenn ein Referrer und ein User-Agent gesetzt sind. Darauf habe ich aber keinen Einfluss.
In wie weit server-internes Rewriting auf den Referer Einfluss haben soll, ist mir unklar.
MfG ChrisB
Seid gegrüßt!
Definiere „einbinden“.
Eigentlich sollte das Einbinden der Fremdinhalte über Iframes stattfinden. Ich möchte hier nicht deren Nachteile erörtern. Jedenfalls fand ich diese Löschung eher schlecht. Jetzt hole ich mir die Seiten über PHP (genauer simple_html_dom), baue solang dran rum bis nur noch der einzubindende Content existiert, schreibe die Links um und echo'e das dann raus.
Keine Sorgen, dies ist geklärt, das dieses Vorgehen ok ist: "Ist uns egal wie Sie die Seiten einbinden." Schließlich wird ja auch dafür bezahlt.
Außerdem ist so auch ein Cache möglich und das ganze Konstrukt wird um einiges schneller. Und nun wollte ich, da es sich ja jetzt um "meine" Seiten handelt, das URL-Rewriting nutzen.
Und so wie mir vorkommt, ist es ja kein Unterschied, ob nun ein Browser die Seite in einen Iframe lässt oder ob ein ein PHP-Script dies tut, ohne einen Iframe zu nutzen.
Ganz so egal scheint es nicht zu sein, da explizit ein User-Agent und ein Referrer gesetzt sein muss. Sonst erscheinen unter der gleichen URL andere Inhalte. Also setze ich diese brav, mit den Werten, welche ich aus dem $_SERVER-Array bekomme, und wenn diese leer sind setzte ich eigene.
In wie weit server-internes Rewriting auf den Referer Einfluss haben soll, ist mir unklar.
mir auch...
Allerdings habe ich den Fehler erhalten, dass das Feld Referrer im $_SERVER-Array nicht existiert, wenn ich rewrite-Rules nutze und deswegen werden dann auch die falschen Seiten eingebunden.
Hi,
Und so wie mir vorkommt, ist es ja kein Unterschied, ob nun ein Browser die Seite in einen Iframe lässt oder ob ein ein PHP-Script dies tut, ohne einen Iframe zu nutzen.
Na ja eben doch - Dinge wie Referer, User Agent etc. muss dein PHP-Script explizit vorgeben, wenn sie beim Request mit übermittelt werden sollen.
Ganz so egal scheint es nicht zu sein, da explizit ein User-Agent und ein Referrer gesetzt sein muss. Sonst erscheinen unter der gleichen URL andere Inhalte. Also setze ich diese brav, mit den Werten, welche ich aus dem $_SERVER-Array bekomme, und wenn diese leer sind setzte ich eigene.
Und wenn du immer gleich eigene setzt?
Allerdings habe ich den Fehler erhalten, dass das Feld Referrer im $_SERVER-Array nicht existiert, wenn ich rewrite-Rules nutze und deswegen werden dann auch die falschen Seiten eingebunden.
Hast du mal geschaut, welche Informationen sich in dem Fall überhaupt in $_SERVER finden?
Je nach Einbindung von PHP, wie das Rewriting stattfindet etc. werden solche Werte manchmal auch unter anderen Schlüsseln abgelegt.
MfG ChrisB