XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   Rewrite - manche funktionieren, andere wieder nicht? (http://xhtmlforum.de/showthread.php?t=69493)

Boris 04.06.2013 09:21

Rewrite - manche funktionieren, andere wieder nicht?
 
Hallo mal wieder seit langem,

im Moment hänge ich an einem sehr blöden Problem - via htaccess + rewrite lasse ich alte Seiten auf die entsprechend neuen weiterleiten.

Das "blöde" dabei ist, dass manche Regeln greifen, andere wiederum nicht - obwohl sie identisch sind?

Das funktioniert:

Code:

RewriteRule ^ungarisch/(.*)$ /hu/ [R=301,NC,L]
Das funktioniert auch:

Code:

RewriteRule ^coaching\.htm$ /de/coaching/ [R=301,NC,L]
Und das auch tadellos:

Code:

RewriteRule ^Interkulturelle_Kompetenz_mehr\.html‎$ /de/interkulturelle-kompetenz/ [R=301,NC,L]
Das hier, was 1:1 identisch ist zu dem oberen, funktioniert aber nicht:

Code:

RewriteRule ^Person\.html‎$ /de/elisabeth-balint-cherdron/ [R=301,NC,L]
Und ich kann mir nicht erklären, warum? Das Person.html wird nicht gemacht. Interkulturelle_Kompetenz_mehr.html‎ aber ohne Probleme.

Das macht doch keinen Sinn?

Auch diese Regel will nicht greifen (leite alle Dateien aus dem Ordner dokumente in den ordner assets/pdf/ um):

RewriteRule ^dokumente/(.*)‎$ /assets/pdfs/$1 [R=301,NC,L]

Hat jemand eine spontane Idee?

explanator 04.06.2013 12:29

Zitat:

Zitat von Boris (Beitrag 530094)

Auch diese Regel will nicht greifen (leite alle Dateien aus dem Ordner dokumente in den ordner assets/pdf/ um):

RewriteRule ^dokumente/(.*)‎$ /assets/pdfs/$1 [R=301,NC,L]

pdf ist nicht gleich pdfs.
Ich vermute bei den anderen Regeln, dass da auch Schreibfehler sind.

Boris 04.06.2013 12:38

Nö, Tippfehler beim Beitrag. Der Ordner heißt schon /pdfs/ ... ;)

explanator 04.06.2013 13:06

Hast du auch rewritebase angegeben?

Boris 04.06.2013 13:09

Ja. Das sind Basics. ;)

Hier mal alles, zum besseren Verständnis:

Code:


<ifmodule mod_rewrite.c>

# Mod_rewrite einschalten
# ------------------------------------------------------------------------------
RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteBase /

# Alte URLs umleiten

# Redirect 301 / http://www.andere-domain.de

RewriteRule ^dokumente/(.*)‎$ /assets/pdfs/$1 [R=301,NC,L]

RewriteRule ^ungarisch/(.*)$ /hu/ [R=301,NC,L]
RewriteRule ^Home_u\.html‎$ /hu/ [R=301,NC,L]
RewriteRule ^veranstaltungen\.htm$ /de/interkulturelle-unternehmensberatung/ [R=301,NC,L]
RewriteRule ^coaching\.htm$ /de/coaching/ [R=301,NC,L]
RewriteRule ^angebot\.htm$ /de/leistungen/ [R=301,NC,L]

RewriteRule ^presse\.htm$ /de/medien/pressespiegel/ [R=301,NC,L]
RewriteRule ^home\.htm$ /de/interkulturelle-unternehmensberatung/ [R=301,NC,L]
RewriteRule ^impressum\.htm$ /de/kontakt-impressum/ [R=301,NC,L]
RewriteRule ^Kundenstimmen\.html$ /de/referenzen/kundenstimmen/ [R=301,NC,L]
RewriteRule ^Leistungen_mehr\.html‎$ /de/leistungen/ [R=301,NC,L]
RewriteRule ^firmen_referenzen\.htm$ /de/referenzen/auftraggeber/ [R=301,NC,L]
RewriteRule ^Auftraggeber\.html‎$ /de/referenzen/auftraggeber/ [R=301,NC,L]
RewriteRule ^Projekte\.html‎$ /de/referenzen/projekte/ [R=301,NC,L]
RewriteRule ^Interkulturelle_Kompetenz_mehr\.html‎$ /de/interkulturelle-kompetenz/ [R=301,NC,L]
RewriteRule ^Person\.html‎$ /de/elisabeth-balint-cherdron/ [R=301,NC,L]
RewriteRule ^Pressespiegel\.html‎$ /de/medien/pressespiegel/ [R=301,NC,L]
RewriteRule ^Leistungen\.html‎$ /de/leistungen/ [R=301,NC,L]
RewriteRule ^Speaker\.html‎$ /de/speaker/ [R=301,NC,L]
RewriteRule ^Interkulturelle_Kompetenz\.html‎$ /de/interkulturelle-kompetenz/ [R=301,NC,L]
RewriteRule ^Fotos\.html‎$ /de/medien/bildergalerie/ [R=301,NC,L]
RewriteRule ^Kontakt\.html‎$ /de/kontakt-impressum/ [R=301,NC,L]
RewriteRule ^kontakt\.htm‎$ /de/kontakt-impressum/ [R=301,NC,L]
RewriteRule ^Referenzen\.html‎$ /de/referenzen/ [R=301,NC,L]
RewriteRule ^Medien\.html‎$ /de/medien/ [R=301,NC,L,NC,L]
RewriteRule ^Video\.html‎$ /de/medien/ [R=301,NC,L]
RewriteRule ^Humor_als_Weg\.pdf‎$ /assets/pdfs/Humor_als_Weg.pdf‎ [R=301,NC,L]

RewriteCond %{HTTP_HOST} !^www\.balint-cherdron\.de$ [NC]
RewriteRule ^(.*) http://www.balint-cherdron.de/$1 [R=301,L]

</ifmodule>

ErrorDocument 404 /404.htmld


explanator 04.06.2013 13:26

Bis auf einmal zuviel NC,L bei
RewriteRule ^Medien\.html‎$ /de/medien/ [R=301,NC,L,NC,L]
kann ich kein Fehler entdecken, sieht eigentlich gut aus.

Du kannst es auch mal ohne NC testen, NC nocase sagt ja nur das es egal ist ob Gross oder Kleinschriebung.

Boris 05.06.2013 10:14

Doppelpost...

Boris 05.06.2013 10:15

Fehler ist gefunden ... unsichtbare Zeichen! Wenn ich die nicht funktionierenden Links nochmal manuell eingegeben habe in der .htaccess, ging es :D

explanator 05.06.2013 10:35

Mit Copy und paste sollte man bei Kontextwechsel immer vorsichtig sein, speziell wenn es sich um URLs handelt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:08 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023