Seite 1 von 1
htaccess mal wieder (Redirect mit Parametern)
Verfasst: 24.10.2006, 16:10
von kaisen
So folgendes. ich möchte nun zunächst shconmal meine haupt-navi-punkte rewriten.
also aus
https://www.beerijuana.de/partyguide.ph ... partyguide
beispielsweise partyguide.html machen.
Code: Alles auswählen
RewriteRule ^partyguide\.html$ partyguide.php?section=partyguide [L]
Das haut soweit auch spitzenmässig hin. Nun möchte ich allerdings auch die alten URLs mit einem 301er auf die neuen html-URLs weiterleiten.
Da muss ich ja irgendwie mit RewriteCond %{QUERY_STRING} arbeiten. Hab aber keinen Plan wie...
Hilfe?!

Verfasst: 24.10.2006, 16:19
von net(t)worker
die alten URL's auf die neuen weiterleiten mache ich immer im phpscript... in deinem Fall würde meine rwriterule so aussehen:
Code: Alles auswählen
RewriteRule ^partyguide\.html$ partyguide.php?section=partyguide&rewrite=OK [L]
und dann ganz am Anfang des phpscripts z.B.
Code: Alles auswählen
if ($_REQUEST['rewrite']!="OK")
{
$url="http://www.domain.tld/".$_REQUEST['section'].".html";
header( 'HTTP/1.1 301 Moved Permanently' );
header( 'Status: 301 Moved Permanently' );
header( 'Location: ' . $url );
header( 'Connection: close' );
exit();
}
hat vor allem den Vorteil, dass man recht simpel die neuen url's zusammensetzen kann, und auch Ausnahmen (z.B. Formulare die per GET gesendet werden) bestimmen kann...
Verfasst: 24.10.2006, 16:48
von kaisen
Danke schonmal...
hat es denn explizit einen Nachteil wenn ich das ganze im htaccess-file machen will?
möchte nämlich ungern in den programmdateien rumfummeln

Verfasst: 24.10.2006, 18:50
von net(t)worker
naja, wenn du Ausnahmefälle behandeln musst, kann is in der .htaccess schon mal schwierig werden... oder wenn die Erstellung der neuen url komplizierter wird...
ansonsten hat es direkt in der .htaccess keinen Nachteil...
aber im allgemeinen musst man doch eh an die scripte rangehen, wenn man auf mod_rewrite umstellt, denn die Links sollten doch alle auf die neuen url's verweisen...
Verfasst: 25.10.2006, 08:09
von kaisen
sicher, dass ich dort eh rein muss wegen den links ist klar, aber ich wollts halt zentral in der htaccess haben. dachte auch das wäre performance-technisch besser. keine ahnung.
hat denn jemand mal so einen Query String Code Schnipsel?
Code: Alles auswählen
RewriteCond %{QUERY_STRING} (^|[&;])section=partyguide
RewriteRule ^partyguide\.php$ partyguide.html [L,R=301]
RewriteRule ^partyguide\.html$ partyguide.php?section=partyguide [L]
So ist ne endlos schleife... haut nich hin...[/quote]
Verfasst: 25.10.2006, 09:35
von kaisen
So endlich...
Habs hinbekommen. Networker hats shcon ganz richtig gemacht mit dem anhängen von z.b. rewrite=OK
Hier mein Code:
Code: Alles auswählen
RewriteCond %{QUERY_STRING} ^section=partyguide$
RewriteRule ^partyguide\.php$ /partyguide.html? [R=301,L]
RewriteRule ^partyguide\.html$ partyguide.php?section=partyguide&rewrite=1 [L]