Frage

Schnell ein.

Ich verwende mod Rewrite und haben die meisten Ersatz anstelle:

  • leerer Raum = _
  • æ = ae
  • Æ = ae

und so weiter.

Was ist die natürlichen Ersatzzeichen für / sei?

Danke

War es hilfreich?

Lösung

Der Unterstrich wird als Wortzeichen betrachtet, so foo_bar ist ein Wort, und nicht zwei Worte. Aber der Bindestrich wird nicht als Wortzeichen betrachtet, so foo-bar ist zwei Wörter.

So ermitteln Sie den Bindestrich - verwenden sollten, wo immer Sie zwei Teile und den Unter _ trennen wollen, wo immer Sie zwei Teile verbinden möchten. Im Fall von /, die Trennung wird verwendet, um, würde ich den Bindestrich - bevorzugen.

Andere Tipps

  
      
  • Æ = ae
  •   

Sie müssen nicht unbedingt tun. Sie können nur als UTF-8 kodierten Bytes in einer URL nicht-ASCII-Unicode-Zeichen setzen. Also:

http://en.wikipedia.org/wiki/%C3%86

Anzeigen in Browsern wie:

http://en.wikipedia.org/wiki/Æ

und kann entweder in die Adressleiste eingefügt werden.

Space and Slash als% 20 und% 2F kodiert werden. Allerdings scheinen diese Formen noch als Prozent im Browser, da sie sonst reservierte Zeichen sind. Und sie sehen nicht ganz so hübsch. Es gibt ein zusätzliches Problem mit% 2F, dass traditionelle Skriptumgebungen auf Basis CGI kann sie nicht lesen, und Apache standardmäßig absichtlich blockiert sie solche Skripte zu stoppen verwirrt und verlassen Sicherheitslücken.

Also ich Titel Schnecken machen durch Entfernen vollständig:

# % ' ( ) ? [ ] (U+00AD soft hyphen)

zusammen mit irgendwelchen Steuerzeichen (U + U + 0000 bis 001F außer U + 00A0 und U + 007F zu U + 00BF). Dann ersetzt jeden Lauf von:

" $ & * + , / : ; < = > @ \ ^ (U+0020 space) (U+000A newline)

mit einem einzigen Unterstrich. Dadurch entfällt die Notwendigkeit für ein% xx-Sequenz in der URL angezeigt wird. (Für Unicode-Zeichen gibt es noch% xx Sequenzen sein, aber der Benutzer sie nicht sehen.)

Sie können Bindestrich anstelle von Unterstrichen, wenn Sie es vorziehen, je nachdem, welche schönere ist. Suchmaschinen sollte entweder in Ordnung sein.

eta re Kommentar auf andere Antwort:

  

Weil ich php für den Namen in der Datenbank zu suchen. So hat jeder Charakter umgewandelt werden wieder auf den ursprünglichen Charakter sonst wird keine Übereinstimmung gefunden werden.

In diesem Fall kann man nichts unrecoverable auf die Zeichen tun, wenn. Sie können nicht ‚Æ‘ ändern zu ‚ae‘, Leerzeichen, sind als ‚% 20‘ und schlitzen als ‚% 2F‘ codiert werden. Dies wird in etwas hässlich URLs führen, und das ‚% 2F‘ gibt Ihnen Bereitstellungsprobleme auf Apache und IIS.

Wenn Sie nur auf einen Titel eingeben müssen Sie benötigen eine (UNIQUE indizierte) Spalte auf dem bearbeiteten Rohling aufzuaddieren zu suchen, wie oben vorgeschlagen. Beachten Sie jedoch, dass Sie dann nicht umbenennen / korrigieren einen Seitentitel, da es die Schnecke ändern, die URL zu brechen.

Ein gemeinsamer Ansatz, dies zu umgehen eine numerische ID neben die Schnecke enthalten ist (siehe zum Beispiel, wie SO tut es). Sie können auch 301-Umleitung in dem der Rohling Name für eine optimale SEO falsch ist.

Ich möchte einen Bindestrich -. Wie Google Wörter wie dies für SEO Zwecke trennt, oder sogar ein Unterstrich _, da diese sowohl Präfekt zur besseren Lesbarkeit sind

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top