Ich verwende Apache 2.4.7
. Ich verwende mod_rewrite
, um einige URLs zu ändern.Apache2: Schreibe URL mit Fragezeichen
Ich möchte http://example.com/servicename/oldpage?id=abc
zu http://example.com/servicename/newpage
umschreiben.
Andere ähnliche Umschreibungen arbeiten, so glaube ich, die ?
Insider-URL verursacht Probleme. Ich habe versucht, es mit \
zu entkommen.
Dies funktioniert, da es keine ?
in url ist:
RewriteRule ^/servicename/old /servicename/new
Aber diese funktionieren nicht:
RewriteRule ^/servicename/oldpage?id=abc /servicename/newpage
RewriteRule ^/servicename/oldpage\?id=abc /servicename/newpage
Ich habe auch versucht RewriteCond
mit von Beispielen wie diesem: .htaccess rewrite URL with a question mark "?" aber ich schaffte es nicht, sie arbeiten zu lassen.
Wie sollte URL neu geschrieben werden, die Fragezeichen enthält?
EDIT: Ich habe versucht, Lösungen in Match Question Mark in mod_rewrite rule regex gegeben, aber war nicht in der Lage, sie für mich arbeiten zu lassen. Diese Frage betrifft die Beibehaltung der Abfragezeichenfolge beim Neuschreiben, während ich sie beim Neuschreiben entfernen möchte.
Wollen Sie die Rewrite auf Inhalt von 'id =' Query-String ab, oder Sie brauchen nur sie von der Anfrage entfernt newpage geschickt? –
Ich möchte es entfernen, ohne auf seinen Inhalt zu achten. –
Mögliches Duplikat von [Übereinstimmungs-Fragezeichen in mod \ _rewrite-Regelregex] (http://stackoverflow.com/questions/822421/match-question-mark-in-mod-rewrites-rule-regex) –