htaccess Weiterleitung geht nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ahnung
anfrage
antwort
ausdruck
beliebiges zeichen
browser
code
datei
falsch mache
folgendem code
funktioniert glaube
header
hilfe
http
inhalt
not
punkt
unterschied
url
weiterleitung
-
Hallo!
Ich möchte von einer Datei auf eine andere Datei umleiten, mit folgendem Code:
RewriteCond %{REQUEST_URI} ^http://www.meineseite.de/sitemap.xml [NC] RewriteRule ^(.*) http://www.meineseite.de/sitemap-xml-de.xml [L]
Eine ähnliche Weiterleitung mit php-Dateien funktioniert, nur die Weiterleitung auf die xml-Datei geht nicht. Wenn ich eine Anfrage auf sitemap.xml schicke, steht im Header der Antwort nur "HTTP/1.1 304 Not Modified" und der Inhalt der Datei.
Keine Ahnung, was ich falsch mache.
VG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
...Wenn ich eine Anfrage auf sitemap.xml schicke, steht im Header der Antwort nur "HTTP/1.1 304 Not Modified" und der Inhalt der Datei...
nun das sieht so aus als ob dein browser einfach die anfrage gecacht hat... das leeren des browser-cache hilft vielleicht weiter :)
(aber wenn du den inhalt der datei geliefert bekommst, wo ist dann das problem ?) -
Cache ist für Texte serverseitig sowieso aus und im Browser auch.
Ich habe das jetzt soweit eingrenzen können, dass ich weiß, das die Bindestriche im Namen der Zieldatei daran Schuld sind. Füge ich statt der Datei eine andere ohne Bindestriche ein, so funktioniert die Weiterleitung. Wenn ich die Bindestriche mit \ escape, passiert auch wieder nichts. Keine Ahnung was für einen Ausdruck ich dafür ersatzweise verwenden muss (suche schon wieder einige Zeit ... ) -
Wenn ich Deine Rule hier teste (http://martinmelin.se/rewrite-rule-tester/), funktioniert glaube ich alles wie gewünscht.
-
Ich weiß nicht wieso, aber so funktioniert es:
RewriteRule ^sitemap.xml$ /sitemap-xml-de.xml [L]
Danke trotzdem für die Hilfe. -
Dir ist aber schon klar, dass ein Unterschied zwischen URL und URI besteht? Dein
wird nurREQUEST_URI
enthalten, außerdem musst du einen Punkt (/sitemap-xml-de.xml
) in einem regulären Ausdruck escapen, also einen Backslash (.
) voranstellen, ansonsten steht der Punkt für ein beliebiges Zeichen.\
-
Dir ist aber schon klar, dass ein Unterschied zwischen URL und URI besteht?
Ja, hier habe ich die ganze URL hingeschrieben, getestet habe ich aber nur mit /sitemap.xml. Aber irgendwo habe ich doch einmal gelesen, dass URI und URL für Internetressourcen gleich sind?
Auf jeden Fall kenne ich mich mit der Syntax/Semantik von htaccess Dateien sehr wenig aus, weshalb das ganze immer eine Bastelstunde wird.
Heißt das jetzt, ich muss die Punkte auch im Ausdruck
escapen?RewriteRule ^sitemap.xml$ /sitemap-xml-de.xml [L]
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage