Remove query strings from 301 redirect
Ich bin kämpfen, um erstellen Sie die entsprechenden 301-Weiterleitungen für eine Website, die ursprünglich gebaut wurde, mithilfe von query-strings. Die alte URL-Struktur sieht wie folgt aus:
http://www.oldsite.com/about/index.cfm?fuseaction=cor_av&artID=5049
Ich soll die Umleitung des gesamten Unterordner (mit dem Namen 'über') auf eine neue Seite auf der neuen domain. Die neue domain-URL sieht wie folgt aus:
http://www.newsite.com/info
So, ich eine Weiterleitung einrichten, die wie folgt aussieht:
redirectMatch 301 ^/about/http://www.newsite.com/info
Ist es umleiten gerade fein, aber es bleibt die ursprüngliche URL-string angehängt, so dass die neue URL endet auf der Suche wie diese in einem browser:
http://www.newsite.com/info/?fuseaction=cor_av&artID=5049
Ich bin definitiv nicht genug des Apache/301 expert ot wissen, wie dieses Problem zu beheben. Ich will einfach nur ausziehen, alles aus ? auf.
Wirklich zu schätzen jede Hilfe.
InformationsquelleAutor Ash | 2012-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
zwei Optionen:
oder:
Fragezeichen am Ende zu sein scheint, das kritische bit. Zweite sieht ein wenig sauberer (erste Blätter ein Fragezeichen am Ende der URL)
Beachten Sie, dass auf Apache >= 2.4, können Sie die QSD-Flagge eher als Zugabe ein Ende Fragezeichen :
RewriteRule ^about/(.*) http://www.newsite.com/info [
QSD,L,R=301]
InformationsquelleAutor kaptinkaos
Versuchen, fügen Sie diesen code in die
.htaccess
angegeben füroldsite.com
:Follow-up?
QSA
einppends den alten query string an die neue url. Auf discard, verwenden Sie das flagQSD
(apache >=2.4) oder fügen Sie einfach ein?
als in der akzeptierten Antwort. Siehe Apache-RewriteRule FlagsInformationsquelleAutor 5ervant