Seite 1 von 1

Sonderzeichen und Fragezeichen

Verfasst: 27.12.2019, 17:05
von jdtravel
Guten Tag,
ich bin gerade dabei redirects in der -htacess Datei für eine kürzlich umgezogenen Seite zu erstellen.
Dabei komme ich bei den Sonderzeichen und Fragezeichen schon seit Tagen nicht weiter! Vielleicht kann mir jemand von euch helfen?


1. Problem Fragezeichen und Doppelpunkt:
Ich würde gerne von dieser Url die ein Fragezeichen und ein Doppelpunkt enthält: http://www.meineseite.de/kategorie/unterkategorie/article.html?id=112text:text
auf diese weiterleiten: http://www.meineseite.de/kategorie/unterkategorie/text.html

Erfolglos ausprobiert habe ich bisher:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^/kategorie/unterkategorie/article.html?id=112text:text$
RewriteRule ^/$ http://www.meineseite.de/kategorie/unterkategorie/text.html

und unzählige andere Varianten die ich so im Netz finden konnte ...



2. Problem Leerzeichen:
Ich würde gerne von dieser Url die ein Leerzeichen enthält: http://www.meineseite.de/kategorie/seiten anzahl.html
auf diese weiterleiten: http://www.meineseite.de/kategorie/seiten-anzahl.html

Erfolglos ausprobiert habe ich bisher:

Redirect 301 /kategorie/seitenÂanzahl.html http://www.meineseite.de/kategorie/seiten-anzahl.html
&
Redirect 301 /kategorie/seiten%20anzahl.html http://www.meineseite.de/kategorie/seiten-anzahl.html




3. Problem Sonderzeichen - "ì" :
Ich möchte gerne von dieser url http://www.meineseite.de/kategorie/unterkategorie/seìte.html
auf diese weiterleiten: http://www.meineseite.de/kategorie/unterkategorie/seite.html

Erfolglos ausprobiert habe ich bisher:

Redirect 301 /kategorie/unterkategorie/seěte.html http://www.meineseite.de/kategorie/unterkategorie/seite.html
&
Redirect 301 /kategorie/unterkategorie/se%C3%ACte.html http://www.meineseite.de/kategorie/unterkategorie/seite.html



Vielen Dank im Voraus!

Verfasst:
von

Re: Sonderzeichen und Fragezeichen

Verfasst: 27.12.2019, 18:56
von arnego2
Große Hilfe bin ich dabei nicht. Kopierst du die Urspungs URL?
Nur rumprobieren solltest du mit 302 und nicht mit 301.

Re: Sonderzeichen und Fragezeichen

Verfasst: 27.12.2019, 20:08
von jdtravel
Danke für deine Antwort! Das mit den 302 werde ich beherzigen! Wie meinst du das mit dem kopieren der Urspungs URL?

Re: Sonderzeichen und Fragezeichen

Verfasst: 27.12.2019, 21:46
von arnego2
jdtravel hat geschrieben: 27.12.2019, 20:08 Danke für deine Antwort! Das mit den 302 werde ich beherzigen! Wie meinst du das mit dem kopieren der Urspungs URL?
zum B. kategorie/unterkategorie/seěte.html anstelle von kategorie/unterkategorie/seite.html

Re: Sonderzeichen und Fragezeichen

Verfasst: 28.12.2019, 11:31
von supervisior
@jdtravel

Du hast da ein paar gravierende Fehler in Deinen Rewrite Rules, sodass es kein Wunder ist, dass diese nicht funktionieren!

RewriteCond %{QUERY_STRING} erwartet den Query als den GET Parameter, aber nicht die Requested URL. Wenn Du alle URLs mit id= auf eine URL umleiten willst, dann müsste das so aussehen:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^id$ 
RewriteRule ^.*$ http://www.meineseite.de/kategorie/unterkategorie/text.html [R=301,L]
Willst Du nur eine bestimmte URL mit einem ebeno bestimmten GET Parameter umleiten, dann müsste das so aussehen:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^id=1$
RewriteRule ^.*$ http://www.meineseite.de/kategorie/unterkategorie/text.html [R=301,L]
Wenn Du URLs mit einem Leerzeichen umleiten willst, gäbs 2 Optionen:

Code: Alles auswählen

RewriteCond %{REQUEST_URI} "/kategorie/seiten anzahl.html"
RewriteRule ^.*$ http://www.meineseite.de/kategorie/seiten-anzahl.html [R=301,L]
Oder

Code: Alles auswählen

RewriteCond %{REQUEST_URI} /kategorie/seiten[\s]anzahl.html
RewriteRule ^.*$ http://www.meineseite.de/kategorie/seiten-anzahl.html [R=301,L]
Bezüglich "Special Characters" gibt es eine Unzahl an Lösungen.

https://www.google.de/search?q=htaccess ... ers+in+url

Re: Sonderzeichen und Fragezeichen

Verfasst: 28.12.2019, 20:25
von jdtravel
Super vielen lieben Dank,
die erste Variante für die Url mit dem Leerzeichen hat wunderbar funktioniert! :)


Das hat leider nicht funktioniert!

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^id=1$
RewriteRule ^.*$ http://www.meineseite.de/kategorie/unterkategorie/text.html [R=301,L]
Bei dem Vorschlag wird zu der Url http://www.meineseite.de/kategorie/unte ... .html?id=1 weitergeleitet!

Und wenn ich das richtig verstehe werden ja alle Seiten die ein id=1 in der Url haben zu derselben Seite weitergeleitet! Wenn es möglich ist würde ich das individuell für jede url gerne seperat steuern - ohne das ich angst haben muss das auch andere urls von dem rewrite betroffen sind!

Gibt es dafür vielleicht eine Möglichkeit?

Re: Sonderzeichen und Fragezeichen

Verfasst: 28.12.2019, 20:40
von arnego2
jdtravel hat geschrieben: 28.12.2019, 20:25 Ich würde gerne von dieser Url die ein Leerzeichen enthält: http://www.meineseite.de/kategorie/seiten anzahl.html
auf diese weiterleiten: http://www.meineseite.de/kategorie/seiten-anzahl.html

Erfolglos ausprobiert habe ich bisher:

Redirect 301 /kategorie/seitenÂanzahl.html http://www.meineseite.de/kategorie/seiten-anzahl.html
So sollte es funktionieren
Redirect 302 /kategorie/seiten anzahl.html http://www.meineseite.de/kategorie/seiten-anzahl.html
wenn nicht dann Redirect 302 /kategorie/seiten%20anzahl.html http://www.meineseite.de/kategorie/seiten-anzahl.html
zum probieren und wenn es hinhaut

Redirect 301 /kategorie/seiten anzahl.html http://www.meineseite.de/kategorie/seiten-anzahl.html oder
Redirect 301 /kategorie/seiten%20anzahl.html http://www.meineseite.de/kategorie/seiten-anzahl.html

Re: Sonderzeichen und Fragezeichen

Verfasst: 28.12.2019, 20:56
von supervisior
jdtravel hat geschrieben: 28.12.2019, 20:25 Super vielen lieben Dank,
die erste Variante für die Url mit dem Leerzeichen hat wunderbar funktioniert! :)


Das hat leider nicht funktioniert!

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^id=1$
RewriteRule ^.*$ http://www.meineseite.de/kategorie/unterkategorie/text.html [R=301,L]
Bei dem Vorschlag wird zu der Url http://www.meineseite.de/kategorie/unte ... .html?id=1 weitergeleitet!

Und wenn ich das richtig verstehe werden ja alle Seiten die ein id=1 in der Url haben zu derselben Seite weitergeleitet! Wenn es möglich ist würde ich das individuell für jede url gerne seperat steuern - ohne das ich angst haben muss das auch andere urls von dem rewrite betroffen sind!

Gibt es dafür vielleicht eine Möglichkeit?
Du musst versuchen die Sache rein logisch zu betrachten. Wenn es verschiedene URLs mit dem gleichen GET Parameter gibt, dann musst Du die Regel erweitern, bzw. präzisieren und nicht nur RewriteCond %{QUERY_STRING} berücksichtigen, sondern zusätzlich auch noch RewriteCond %{REQUEST_URI}.

Code: Alles auswählen

RewriteCond %{REQUEST_URI} ^\/(kategorie/unterkategorie/article).html
RewriteCond %{QUERY_STRING} ^id=1$
RewriteRule ^.*$ http://www.meineseite.de/kategorie/unterkategorie/text.html? [R=301,L]

Re: Sonderzeichen und Fragezeichen

Verfasst: 29.12.2019, 11:05
von staticweb
> Wenn es möglich ist würde ich das individuell für jede url gerne seperat steuern

Man kann Teile der condition zwischenspeichern. Sollte also kein Problem sein.

Re: Sonderzeichen und Fragezeichen

Verfasst: 29.12.2019, 13:07
von supervisior
@jdtravel

Mal eine ganz blöde Frage: Um wieviele URLs reden wir eigentlich, die Du umleiten möchtest?

Re: Sonderzeichen und Fragezeichen

Verfasst: 29.12.2019, 16:22
von jdtravel
staticweb hat geschrieben: 29.12.2019, 11:05 > Wenn es möglich ist würde ich das individuell für jede url gerne seperat steuern

Man kann Teile der condition zwischenspeichern. Sollte also kein Problem sein.
ok, verstehe!

supervisior hat geschrieben: 29.12.2019, 13:07 @jdtravel

Mal eine ganz blöde Frage: Um wieviele URLs reden wir eigentlich, die Du umleiten möchtest?
es handelt sich so circa um 65 Urls /



Ich habe es jetzt soweit hinbekommen, mithilfe dieses Batch RewriteRule Generators (https://donatstudios.com/RewriteRule_Generator)! Der hat mir diesen Code für das Beispiel ausgespuckt:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} (^|&)id\=112text\:text($|&)
RewriteRule ^kategorie/unterkategorie/article\.html$ /kategorie/unterkategorie/text.html? [L,R=301]

Vielen Dank für Eure Hilfe!

Re: Sonderzeichen und Fragezeichen

Verfasst: 29.12.2019, 17:12
von staticweb
Da wird ja weder nach text, noch nach id unterschieden! Auch der Pfad ist nicht variabel. Ich sehe da keine Verbesserung!? Eher im Gegenteil.