Hallo, hier kann mir jemand nach zweistündigem Grübeln helfen.
Ich versuche gerade meine alten und uralten Links einzufangen und habe offensichtlich ein Brett vor dem Kopf.
Kurzform:
Die Zeile
RewriteRule ^seite_123.htm$ seite_irgendeintext.htm [R=301]
funktioniert
Die Zeile
RewriteRule ^seite.php?id=123$ seite_irgendeintext.htm [R=301]
funktioniert NICHT.
(auch nicht mit Maskierung a la
RewriteRule ^seite\.php\?id\=123$ seite_irgendeintext.htm [R=301] )
Was übersehe ich?
Langform:
Ich habe bisher Links der Art "seite_xxx.htm " verwendet, bin aber nun zu "sprechenden Links" übergegangen a la "seite_sinnvollertext.htm" - das schreibt mir RewriteRule ordnungsgemäß um.
Wenn ich nun - im selben Verzeichnis, in derselben .htaccess - versuche auch die Uralt-Links der Art "seite.php?id=123" umschreiben zu lassen (egal ob erstmal nach "seite_123.htm" oder "seite_sinnvolertext.htm" erscheint nur ein 404er...
Ich habe zunächst gedacht, es liegt an fehlenden Maskierungen und habe brav alle "." "?" und "=" maskiert - ich habe inzwischen alle Kombinationen durch, aber immer erscheint der 404er - laut log Datei ist auch gar kein Umschreibeversuch unternommen worden, die alte "seite.php?id=123" wird am Server abgefragt (ich habe testhalber nochmal das alte "seite.php"-Skript hochgeladen - stimmt, es wird aufgerufen.
Ich kann nur mutmaßen, dass es an dem dusseligen Fragezeichen liegt?
Am liebsten wäre mir direkt eine universelle Umschreibung a la:
RewriteRule ^seite.php?id=([a-zA-Z0-9\-]+)$ seite_$1.htm [R=301]
aber dazu muss ich erst mal "Problem 1" lösen.
Die übrigen Zeile in der .htaccess
(RewriteEngine on, RewriteCond %{HTTP_HOST} !^www\.domain\.de$, Options FollowSymLinks) stehen - wie gesagt, andere Rewrites erfolgen auch "ordnungsgemäß"...
DANKE!!!
Ich versuche gerade meine alten und uralten Links einzufangen und habe offensichtlich ein Brett vor dem Kopf.
Kurzform:
Die Zeile
RewriteRule ^seite_123.htm$ seite_irgendeintext.htm [R=301]
funktioniert
Die Zeile
RewriteRule ^seite.php?id=123$ seite_irgendeintext.htm [R=301]
funktioniert NICHT.
(auch nicht mit Maskierung a la
RewriteRule ^seite\.php\?id\=123$ seite_irgendeintext.htm [R=301] )
Was übersehe ich?
Langform:
Ich habe bisher Links der Art "seite_xxx.htm " verwendet, bin aber nun zu "sprechenden Links" übergegangen a la "seite_sinnvollertext.htm" - das schreibt mir RewriteRule ordnungsgemäß um.
Wenn ich nun - im selben Verzeichnis, in derselben .htaccess - versuche auch die Uralt-Links der Art "seite.php?id=123" umschreiben zu lassen (egal ob erstmal nach "seite_123.htm" oder "seite_sinnvolertext.htm" erscheint nur ein 404er...
Ich habe zunächst gedacht, es liegt an fehlenden Maskierungen und habe brav alle "." "?" und "=" maskiert - ich habe inzwischen alle Kombinationen durch, aber immer erscheint der 404er - laut log Datei ist auch gar kein Umschreibeversuch unternommen worden, die alte "seite.php?id=123" wird am Server abgefragt (ich habe testhalber nochmal das alte "seite.php"-Skript hochgeladen - stimmt, es wird aufgerufen.
Ich kann nur mutmaßen, dass es an dem dusseligen Fragezeichen liegt?
Am liebsten wäre mir direkt eine universelle Umschreibung a la:
RewriteRule ^seite.php?id=([a-zA-Z0-9\-]+)$ seite_$1.htm [R=301]
aber dazu muss ich erst mal "Problem 1" lösen.
Die übrigen Zeile in der .htaccess
(RewriteEngine on, RewriteCond %{HTTP_HOST} !^www\.domain\.de$, Options FollowSymLinks) stehen - wie gesagt, andere Rewrites erfolgen auch "ordnungsgemäß"...
DANKE!!!
Kommentar