Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

mod_rewrite | Frage bezüglich Umlauten ...

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
klaraSand
PostRank 2
PostRank 2
Beiträge: 40
Registriert: 10.08.2012, 13:23

Beitrag von klaraSand » 10.08.2012, 21:03

Melegrian hat geschrieben:...
Das an sich ist auch bei mir kein Problem ...
Habe ich dann aber "Verzeichnis-Strukturen" wie diese oder länger:

Code: Alles auswählen

Lößnig/Tischtennisplatten$ tischtennis.php?stadtteil=043 [L]
Bekomme ich die obigen Fehler mit dem "doppelten" Verzeichnis ...

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 10.08.2012, 21:06

Also als Link, dann mal in HTML gesagt:
ein <a href="https://domain.de/Lößnig/Tischtennispla ... e">ziel</a> ist falsch, da es keine Umlaute in der URL gibt / geben darf. Du musst von der Ansicht in der Browserzeile weg, denn die zeigt es nur leserlich an. Die URL ist es aber eigentlich nicht.

Diene URLs müssen also kodiert sein, entweder ISO oder UTF-8. Also UTF-8 wäre die URL im a-href also:
https://domain.de/L%C3%B6%C3%9Fnig/Tisc ... BCnzstraße

Klickt einer den Link an, dann steht in der Browserzeile wieder das jeweilige Sonderzeichen. Geht er mit der Maus drüber, dann steht unten in der Statusleiste auch die lesbare Version. Die URLs aber, also auch das, womit der Server arbeitet ist kodiert.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 10.08.2012, 21:07

klaraSand hat geschrieben:
Melegrian hat geschrieben:...
Das an sich ist auch bei mir kein Problem ...
Habe ich dann aber "Verzeichnis-Strukturen" wie diese oder länger:

Code: Alles auswählen

Lößnig/Tischtennisplatten$ tischtennis.php?stadtteil=043 &#91;L&#93;
Bekomme ich die obigen Fehler mit dem "doppelten" Verzeichnis ...
Deshalb hatte ich mein Post oben editiert (zwei oder drei vorher). Das ist bedingt an der Sache.... Die Rule "bearbeitet" die URL, merkt sich das intern, startet neu und verwendet dann den internen wert, nicht den aus der URL. Daher die Dopplung.

Aber wie gesagt, das alles brauchst Du eigentlich gar nicht. Die Rules, also das Zeug von Huschi ist für Dateien auf dem Filesystem gedacht.
Zuletzt geändert von Synonym am 10.08.2012, 21:37, insgesamt 2-mal geändert.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


klaraSand
PostRank 2
PostRank 2
Beiträge: 40
Registriert: 10.08.2012, 13:23

Beitrag von klaraSand » 10.08.2012, 21:08

Synonym hat geschrieben:Also als Link, dann mal in HTML gesagt:
ein <a href="https://domain.de/Lößnig/Tischtennispla ... e">ziel</a> ist falsch, da es keine Umlaute in der URL gibt / geben darf. Du musst von der Ansicht in der Browserzeile weg, denn die zeigt es nur leserlich an. Die URL ist es aber eigentlich nicht.

Diene URLs müssen also kodiert sein, entweder ISO oder UTF-8. Also UTF-8 wäre die URL im a-href also:
https://domain.de/L%C3%B6%C3%9Fnig/Tisc ... BCnzstraße

Klickt einer den Link an, dann steht in der Browserzeile wieder das jeweilige Sonderzeichen. Geht er mit der Maus drüber, dann steht unten in der Statusleiste auch die lesbare Version. Die URLs aber, also auch das, womit der Server arbeitet ist kodiert.
Nur um mal bei dem Beispiel zu bleiben also klicke ich nun auf den Link so sehe ich in der Browserzeile: https://www.domain.de/L%C3%B6%C3%9Fnig/ ... nzstra%DFe

Das ist es auch was mich dazu bewogen hat mit den Spielereien anzufangen ... lach

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 10.08.2012, 21:12

Hier auf den Link im Forum??? Das geht nicht !!! Das Forum hier kodiert die UTF8-URL nochmals mit ISO. Das was da dann rauskommt kann nicht funktionieren, das liegt aber am Forum und nicht an der URL!

Teste das wo anders mit den Links. Rufe Wikipedia auf. Die Seite von Lößnig. Im zweiten Absatz steht "Dölitz", das ist verlinkt. Sehe es Dir an, den Quelltest und klicke es an. Sehe Dir dann die URL an.

Hatte aber auch einen Fehler drinne. Hatte das ß bei Straße vergessen zu ersetzen.

Aber! Wie gesagt, das mit der Kodierung hier liegt am Forum, das arbeitet mit ISO und nicht mit UTF-8.
<?xml version="1.0" encoding="iso-8859-1"?>
Schau unten in die Statuszeile, da steht beim Hover nur wirres Zeug.
Zuletzt geändert von Synonym am 10.08.2012, 21:17, insgesamt 2-mal geändert.

klaraSand
PostRank 2
PostRank 2
Beiträge: 40
Registriert: 10.08.2012, 13:23

Beitrag von klaraSand » 10.08.2012, 21:16

Synonym hat geschrieben:Hier auf den Link im Forum??? Das geht nicht !!! Das Forum hier kodiert die UTF8-URL nochmals mit ISO. Das was da dann rauskommt kann nicht funktionieren, das liegt aber am Forum und nicht an der URL!

Teste das wo anders mit den Links. Rufe Wikipedia auf. Die Seite von Lößnig. Im zweiten Absatz steht "Dölitz", das ist verlinkt. Sehe es Dir an, den Quelltest und klicke es an. Sehe Dir dann die URL an.

Wie gesagt, das mit der Kodierung hier liegt am Forum, das arbeitet mit ISO und nicht mit UTF-8.
Oh man bin ich ******* erst mal vielen Dank!

Aber da ich nun schon mal so was von auf dem Schlauch stand bin ich immer noch nicht wirklich runter. Ich habe den Link mal so auf der Seite gesetzt und wie du schon sagtest macht es genau das was ich will. Und wenn ich sozusagen Lößnig selbst eintippe in die URL passiert auch nix anderes als das es vom Brwoser so codiert wird wie in dem Link oder?

Nun habe ich das in der .Datei wie folgt geändert:

Code: Alles auswählen

RewriteRule ^L%C3%B6%C3%9Fnig/Tischtennisplatten$ tischtennis.php?stadtteil=043 &#91;L&#93;
RewriteRule ^L%C3%B6%C3%9Fnig/Tischtennisplatten/Seite-&#40;.*&#41;$ tischtennis.php?stadtteil=043&se=$1 &#91;L&#93;
Aber auch hier stell ich mich sicher wieder etwas an - oder? Ergebnis:
Not Found

The requested URL /Lößnig/Tischtennisplatten was not found on this server.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 10.08.2012, 21:28

So, das ist nun aber ein ganz anderer Punkt, da wollte ich vorhin eigentlich schon hin, aber herrje....

Du musst Dich entscheiden ob ISO oder UTF8. Das bedeutet aber auch, dass nicht nur die Links entsprechend sein müssen, sondern auch die Files selbst entsprechend kodiert sein müssen, die Webseite ein entsprechendes Encoding haben muss und die Serverdienste auch.

Genau diese wirren Zeichen "Löß" kommen, wenn verschiedene Kodierungen vermischt werden.

Aber in der htaccess musst Du die % ersetzen. So wie vorher jeweils mit \x

Guggst Du:
1nt .de/klara/L%C3%B6%C3%9Fnig/Tischtennisplatten

htaccess

Code: Alles auswählen

RewriteEngine on
RewriteRule ^L\xC3\xB6\xC3\x9Fnig/Tischtennisplatten$ /klara/tischtennis.php?stadtteil=043 &#91;L&#93;
Das "klara" ist dort natürlich nur für mich ;)

klaraSand
PostRank 2
PostRank 2
Beiträge: 40
Registriert: 10.08.2012, 13:23

Beitrag von klaraSand » 10.08.2012, 21:41

Synonym hat geschrieben:So, das ist nun aber ein ganz anderer Punkt, da wollte ich vorhin eigentlich schon hin, aber herrje....

Du musst Dich entscheiden ob ISO oder UTF8. Das bedeutet aber auch, dass nicht nur die Links entsprechend sein müssen, sondern auch die Files selbst entsprechend kodiert sein müssen, die Webseite ein entsprechendes Encoding haben muss und die Serverdienste auch.

Genau diese wirren Zeichen "Löß" kommen, wenn verschiedene Kodierungen vermischt werden.

Aber in der htaccess musst Du die % ersetzen. So wie vorher jeweils mit \x

Guggst Du:
1nt .de/klara/L%C3%B6%C3%9Fnig/Tischtennisplatten

htaccess

Code: Alles auswählen

RewriteEngine on
RewriteRule ^L\xC3\xB6\xC3\x9Fnig/Tischtennisplatten$ /klara/tischtennis.php?stadtteil=043 &#91;L&#93;
Das "klara" ist dort natürlich nur für mich ;)
Das % ersetzen mit /x hat es schon völlig gebracht!
Ich danke dir wirklich und klatsche mir mal beherzt gegen den Kopf was ich für sinnlos Spielchen angefangen habe ... lach

Aber wenn ich schon mal weiter denke sehe ich ein Problem bei:

Code: Alles auswählen

RewriteRule ^&#40;.x&#41;/Tischtennisplatten/&#40;.x&#41;$ $1.php?stadtteil=$2 &#91;L&#93;
Das nur mal so als Beispiel für eine Rule wie sie mir vorschwebt ...
Aber wie bekomme ich diese ans laufen oder ist das nicht möglich?

Da ich hier auch bei codiertem Link diese Meldung bekomme:

Code: Alles auswählen

The requested URL /Lößnig.php was not found on this server
Aber nochmal vielen Dank es läuft erst mal alles ...
Nur wie ich es in dem obigen Beispiel händeln muss erschließt sich mir nicht wirklich da ich so ja keine Möglichkeit habe in der .Datei zu formatieren da der Name "unbekannt" bzw. "variabel" ist.

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 10.08.2012, 22:20

Habe auch noch einmal einen Test gemacht, an der htaccess nichts verändert, doch mal eine mit ISO und die andere mit UTF-8 gespeichert. Will morgen die Dateien und die Einträge in der htaccess wieder löschen, nur mal als Demo. (gelöscht)
Zuletzt geändert von Melegrian am 11.08.2012, 06:06, insgesamt 1-mal geändert.

klaraSand
PostRank 2
PostRank 2
Beiträge: 40
Registriert: 10.08.2012, 13:23

Beitrag von klaraSand » 10.08.2012, 22:30

Melegrian hat geschrieben:Verstehe das jetzt nicht ganz, kann mich durch beide durchklicken, die Umlaute bleiben erhalten, nur wieso verstehe ich nicht.
Synonym hatte das sehr gut beschrieben - Der Code Schnippsel ist dafür gemacht um Dateinamen zu ändern was auch funktioniert. Geht das dann aber um Verzeichnisse und diese Strukturen funktioniert es nicht.

Ich hatte mich da auch komplett verrannt und werde meine Links ganz einfach wie oben beschrieben codieren da dies genau das ist was ich erzielen möchte und um ein Vielfaches einfacher als was ich da mal wieder vor hatte.

Was ich mich nur noch Frage ist dieses hier:

Code: Alles auswählen

RewriteRule ^&#40;.x&#41;/Tischtennisplatten/&#40;.x&#41;$ $1.php?stadtteil=$2 &#91;L&#93;
Also wenn vor /Tischtennisplatten oder danach etwas mit Umlauten kommt wie ich das am besten formatieren kann. Da es ja "unbekannt" ist also ich es nicht in der .Datei schon mal vorneweg codieren kann.

Aber für Heute erstmal bedanke ich mich bei euch für die tolle und vor allem auch sehr schnelle Hilfe.

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 10.08.2012, 23:01

Ja gut, stimmt, habe es jetzt auch noch einmal probiert, nur mit Dateinamen scheint es keine Probleme zu geben, da bleiben die Umlaute erhalten, doch mit Verzeichnissen funktioniert es nicht. So wie 2 Umlaute enthalten sind bekomme ich auch so ein Ergebnis wie:

.../Dölitz-Dösen4/Tischtennisplatten.html/Tischtennisplatten.html

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 11.08.2012, 08:25

klaraSand hat geschrieben:

Code: Alles auswählen

RewriteRule ^&#40;.x&#41;/Tischtennisplatten/&#40;.x&#41;$ $1.php?stadtteil=$2 &#91;L&#93;
Also wenn vor /Tischtennisplatten oder danach etwas mit Umlauten kommt wie ich das am besten formatieren kann. Da es ja "unbekannt" ist also ich es nicht in der .Datei schon mal vorneweg codieren kann.
Das ist doch der Witz an der Sache. Richtig kodierte URLs musst Du in der Rule gar nicht weiter beachten. Eben nur mit cem \xAA\xBB, wenn Du direkt ein Sonderzeichen ansprechen willst. In den Platzhaltern (.*) sind diese Zeichen aber auch enthalten, denn \xAA ist ja kein Sonderzeichen, sondern eine Kette von 4 normalen Zeichen.

Du musst Deine URLs auf der Webseite richtig kodieren, das ist der entscheidende Punkt. Direkteingaben im Browser werden von dem kodiert.

Dein Problem war ja, dass Deine URLs im Link nicht kodiert waren, nur das geht eben nicht automatisch, ist ja schließlich HTML-Code. Und genau diese falschen Sonderzeichen gehen dann an den Webserver und der kann damit nichts anfangen.

Also, das hier ist kein Problem, zumindest nicht, wenn das Sonderzeichen im hinteren Teil vorkommt, also beim $2
RewriteRule ^(.x)/Tischtennisplatten/(.x)$ $1.php?stadtteil=$2 [L]

$1 wird aber ein Problem, da es sich hier dann eben um einen Dateinamen handelt, den Du aufrufen willst. Dateinamen sind noch viel strikter als URLs.

Das würde ich in so einem Fall auch nicht machen. Wenn das Dateinamen sind, dann haben die ja feste Namen und werden nicht auf die Schnelle einfach so erzeugt. Also lass den $1 weg und gebe da einen festen Wert vor.

Das hier geht problemlos:
RewriteRule ^/hersteller/Tischtennisplatten/(.*)$ /hersteller.php?stadtteil=$1 [L]


Guggst Du:
1nt .de/klara/hersteller/Tischtennisplatten/d%C3%B6r%C3%B6m

Für döröm hinten kannste alles eintragen was Du machst, das wird als "stadtteil" übernommen.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag