Zur Navigation

Zeichen in URL löschen?

1 Hessi

Hallo Leute,

ich habe mich im Netz blöd gesucht und viele Lösungen ausprobiert, aber nicht hat geholfen. Ich möchte Zeichen aus einer URL entfernen.

website.de/kategorie1-mobil

Kann ich irgendwie das "-mobil" aus der URL entfernen, bevor die folgende Weiterleitung greift?

RewriteCond %{HTTP_HOST} (www\.)?website.de
RewriteRule (.*) https://neue-website.de/category/retro/$1 [R=301,L]

Ich bin zu blöd dafür, sorry.

Gruß
Michael

14.06.2021 17:11

2 Jörg Kruse

Würde ich so probieren:

RewriteCond %{HTTP_HOST} (www\.)?website.de
RewriteRule (.*)(-mobil)? https://neue-website.de/category/retro/$1 [R=301,L]

$1 nimmt nur den ersten Klammerausdruck (.*) wieder auf und durch das angefügte ? ist der zweite Klammerausdruck (-mobil) optional

14.06.2021 17:16 | geändert: 14.06.2021 17:18

3 Hessi

Hallo Jörg,

wow, was für eine schnelle Antwort! Danke!
Funktioniert aber nicht, wie alle meine Versuche vorher.

Ich nehme mal die echte URL, egal jetzt:

Ich gebe ein:
www.tote-pixel.de/telespiele-mobil/

und heraus kommt:
https://hessburg.de/category/retro/telespiele-mobil

Meine echte .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} (www\.)?tote-pixel.de
RewriteRule (.*)(-mobil)? https://hessburg.de/category/retro/$1 [R=301,L]
RewriteCond %{HTTP_HOST} (www\.)?tellerrandforschung.de
RewriteRule (.*) https://hessburg.de/category/it/$1 [R=301,L]
RewriteCond %{HTTP_HOST} (www\.)?hausblog.hessburg.de
RewriteRule (.*) https://hessburg.de/category/hausblog/$1 [R=301,L]

Gleich der erste Befehlssatz.

Wahrscheinlich bin ich gerade komplett Betriebsblind.

Danke
Gruß
Michael

14.06.2021 17:26

4 Jörg Kruse

Probier mal mit Delimiter ^ und $ sowie optionalen Trailing Slash:

RewriteCond %{HTTP_HOST} (www\.)?tote-pixel.de
RewriteRule ^(.*)(-mobil)?/?$ https://hessburg.de/category/retro/$1/ [R=301,L]

Wenn das nicht hilft, versuch es mit zwei Weiterleitungen:

RewriteCond %{HTTP_HOST} (www\.)?tote-pixel.de
RewriteRule ^(.*)-mobil/?$ https://hessburg.de/category/retro/$1/ [R=301,L]

RewriteCond %{HTTP_HOST} (www\.)?tote-pixel.de
RewriteRule ^(.*)/?$ https://hessburg.de/category/retro/$1/ [R=301,L]

... und zwischendurch den Browser-Cache leeren..

14.06.2021 18:13

5 Hessi

Hi Jörg,

viiielen Dank! Es klappt mit nur einer Umleitung, der mit dem Suchstring nicht in der Klammer.

RewriteCond %{HTTP_HOST} (www\.)?tote-pixel.de
RewriteRule ^(.*)-mobil/?$ https://hessburg.de/category/retro/$1/ [R=301,L]

Aha. Okay. Aber warum ist das so? Liegt das am Apache? An der Version? In Klammern hatte ich es selber schon probiert. Muss das nicht so? Offenbar nicht. Kenne mich aber echt nicht gut aus, muss ich sagen.

Muss das mal nachlesen.

Danke nochmal
Gruß
Michael


P.S.: Cache löschen half weder bei FF noch bei Chromium. Erst ein Browser-Restart halt. Das finde ich auch extrem seltsam.

14.06.2021 18:35

6 Hessi

Oka, sorry, nur einen kleinen Moment...

Funktioniert:
tote-pixel.de/telespiele-mobil/

Funktioniert:
http://www.tote-pixel.de/telespiele-mobil/

Funktioniert:
https://tote-pixel.de/telespiele-mobil/

Funktioniert nicht:
http://tote-pixel.de/telespiele-mobil/

Verstehe ich gerade gar nicht.

14.06.2021 18:51

7 Jörg Kruse

Funktioniert nicht:
http://tote-pixel.de/telespiele-mobil/

Bei mir schon

Es klappt mit nur einer Umleitung, der mit dem Suchstring nicht in der Klammer. [...] Aber warum ist das so?

vermutlich, weil (.*) "greedy" interpretiert wird

14.06.2021 18:59

8 Hessi

Wenn es bei Dir funzt, dann reicht mir das. Danke.

Ah, okay, auf dem Handy funzt es auch, nur auf dem Rechner nicht. Nicht darüber nachdenken, alles guuuut. :-D

Okay, "greedy". Habe wohl noch Bildungslücken. :-) Ist ja auch ein spannender Bereich.

Danke noch einmal, Du hast mir wirklich sehr geholfen!

Gruß
Michael


14.06.2021 19:16

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]