Zur Navigation

.htaccess Weiterleitung per 301 alte auf neue Seite [3]

21 Jörg Kruse

Manchmal hilft noch die Angabe einer RewriteBase:

RewriteBase /php

Ansonsten bitte den genauen Wortlaut der Fehlermeldung wiedergeben und wo diese angezeigt wurde (Firefox, Chrome, Apache Error Log, ...)

29.03.2013 16:30 | geändert: 29.03.2013 16:30

22 christa

Zitat von Jörg
Manchmal hilft noch die Angabe einer RewriteBase:

RewriteBase /php

Ansonsten bitte den genauen Wortlaut der Fehlermeldung wiedergeben und wo diese angezeigt wurde (Firefox, Chrome, Apache Error Log, ...)


hab´s so gemacht:

RewriteBase /php
RewriteCond %{QUERY_STRING} o_id=1009&order=refno
RewriteRule ^obj1_d\.php$ http://example.com/verzeichnis/immunitaet.php?ID=139 [R=301,L]

Resultat: nur mit IE wird weitergeleitet, FF,Chrome,Opera und Safari erkennen keine Weiterleitung und zeigen den alten Inhalt.

29.03.2013 18:35

23 Jörg Kruse

Ich würde den Cache in den anderen Browsern leeren und dann nochmal testen

29.03.2013 18:59

24 christa

hallo Jörg

habe natürlich vorher alle Caches aller genannten Browser gelöscht. Nun stelle ich fest, dass der blöde IE trotz "Cache-Löschen" und Löschen der .htacces, die Weiterleitung irgendwie verinnerlicht hat. Auf einem andern PC der die Umleitung noch nicht gesehen hat, wird mit IE auch nicht weitergeleitet, so wie mit allen anderen Browsern auch nicht. Es liegt also an der .htaccess oder kurz gesagt:

RewriteBase /php
RewriteCond %{QUERY_STRING} o_id=1009&order=refno
RewriteRule ^obj1_d\.php$ http://example.com/verzeichnis/immunitaet.php?ID=139 [R=301,L]

funktioniert nicht. Keine Fehlermeldung aber auch keine Weiterleitung.

29.03.2013 19:51

25 Jörg Kruse

Keine Fehlermeldung aber auch keine Weiterleitung.

Dann sollte aber zumindest eine Fehlermeldung "404 Not Found" oder etwas in der Art kommen, wenn nicht weitergeleitet wird?

Eine Möglichkeit ist noch, dass das Verzeichnis /php per Alias Direktive auf ein anderes Verzeichnis gemappt wird. In so einem Fall hat die .htaccess Datei in /php unterhalb des DocumentRoot keinen Effekt, da sich das eigentliche (physische) Verzeichnis ganz woanders befindet.

29.03.2013 20:23

26 christa

tja man sollte halt auch noch die Engine einschalten... nun funktionieren die Ausdrücke aus dem /php-Verzeichnis heraus. Danke Euch beiden.

Da ich von 2 verschiedenen url´s aus auf eine bestimmte Seite gelangen kann, wäre es platzsparender und übersichtlicher, wenn man die beiden Queries zusammenfassen könnte zu einem einzigen Ausdruck. Also mit einer Art "OR"-Verknüpfung in den RewriteCond

Es wären dies:

RewriteCond %{QUERY_STRING} o_id=1009&order=refno%20abs&ka=1&results=

und

RewriteCond %{QUERY_STRING} o_id=1009&order=pr&ka=1&results=

beide auf: 

RewriteRule ^php/obj1_d\.php$ http://example.com/verzeichnis/immunitaet.php?ID=139 [R=301,L]

Gibt es dazu eine Lösung?



30.03.2013 09:56 | geändert: 30.03.2013 10:00

27 Jörg Kruse

Ein OR-Flag verknüpft eine Bedingung mit der folgenden:

RewriteCond %{QUERY_STRING} o_id=1009&order=refno%20abs&ka=1&results= [OR]
RewriteCond %{QUERY_STRING} o_id=1009&order=pr&ka=1&results=

Alternativ ginge auch das:

RewriteCond %{QUERY_STRING} o_id=1009&order=(pr|refno%20abs)&ka=1&results=

30.03.2013 11:00 | geändert: 30.03.2013 11:01

1 Forenmitglied fand diesen Beitrag gut

28 christa

Zitat von Jörg


RewriteCond %{QUERY_STRING} o_id=1009&order=(pr|refno%20abs)&ka=1&results=

genau was ich suchte, Hammer Jörg danke

30.03.2013 11:45

29 christa

neuer Tag neue Frage...

in einem Unterverzeichnis habe ich eine index.php

/verz/index.php

nun habe ich diese index.php auf eine andere interne Seite weitergeleitet. Die Weiterleitung funktioniert, wenn ich vom Browser aus www.example.tdl/verz/index.php eingebe, ich lande auf der Zielseite. Gebe ich aber www.example.tdl/verz ein, werde ich nicht umgeleitet sondern lande auf der index.php
Warum funktioniert so die Umleitung nicht? Wie kann ich denn www.example.tdl/verz umleiten um auf die gleiche Zielseite wie mit index.php zu gelangen?
Habe eigentlich erwartet, dass ich beim Verzeichnisaufruf normal zur Zielseite weitergeleitet werde.

06.04.2013 10:23

30 Jörg Kruse

Wie schaut denn die Weiterleitung in der .htaccess Datei aus?

und wo befindet sich die .htaccess Datei, in /verz oder im Hauptverzeichnis?

06.04.2013 14:58 | geändert: 06.04.2013 14:59