Seite 1 von 1

Redirect von search.cgi zu search.php. Query String ident.

Verfasst: 14.07.2018, 00:08
von Rem
Hallo!

Wie kann ich von search.cgi weiterleiten (301) zu search.php, so dass der Query-String erhalten bleibt?

www.domain.ch/suche/search.cgi?zoom_que ... ra&lang=de
www.domain.ch/suche/search.php?zoom_que ... ra&lang=de

Wäre nett, wenn mir hier jemand eine Lösung nennen kann!

Grüsse!

Verfasst:
von

Verfasst: 14.07.2018, 04:11
von elmex
Bei manchen Servern muss mann ein "QSA" mit geben, z.b.:

Code: Alles auswählen

RewriteRule search\.cgi search.php [QSA,L]

Verfasst: 14.07.2018, 12:45
von Rem
@Elmex:
DANKE! Die RewriteRule search\.cgi search.php [QSA,L]
Funktioniert. Allerdings natürlich ohne 301er

Wenn ich den 301er einfüge, bekomme ich einen recht sinnlosen Wirrwarr. Da kommen sogar von meinem Hostingprovider irgendwelche "interne" Seitenstrukturen.
RewriteRule search\.cgi search.php [R=301,QSA,L]

Ich bin soweit, dass ich "redirect.php" nutze... Also
RewriteRule search.cgi redirect.php [QSA]

Und im PHP lasse ich folgendes laufen:
<?php
$url = $_SERVER['REQUEST_URI'];
$trimmed = str_replace("/suche/search.cgi", "", $url);
header ("HTTP/1.1 301 Moved Permanently");
header ("Location: search.php$trimmed");
?>

Das entspricht meiner persönlichen, leichten Abneigung gegenüber htaccess...

Wenn es aber eine einfachere Lösung gibt, ich probiere sie gerne aus!

Verfasst: 14.07.2018, 20:47
von elmex
Warum brauchst du überhaupt ein 301? Du hast deine Motive nicht geschildert...

Falls du das cgi script gegen ein php script ersetzen möchtest, lass doch die URL wie sie war und route nur intern um (mein Beispiel). Es ist immer besser eine URL zu behalten, als weiterzuleiten, ausser du willst unbedingt andere "keywords" in der URL unterbringen, das ist hier ja wohl nicht der Fall?

Verfasst: 14.07.2018, 21:03
von elmex
PS. beim "externen" umrouten (mit ändern der URL in der Adresszeile) musst du immer absolute URLs nehmen. Entweder mit domain oder mit /ordner/datei.xxx, dann bruachst die redirect.php nicht mehr
:wink: