Frage

Ich versuche Seite Anker auf einer Website einrichten, die mod_rewrite (Apache2 läuft auf Ubuntu Server 9.04).

verwendet

Meine .htaccess-Datei sieht wie folgt aus:

RewriteEngine On
RewriteRule ^information.php/([A-Za-z0-9-]+)/?$ information.php?display=$1  [NC,NE]

Wenn ich normale URL wurde mit ist die Abfrage in etwa so aussehen: http: //mydomain/information.php?display=faq#cost

Ich hoffe, so etwas zu bekommen: http: // mydomain / information / faq / Kosten

Ist das möglich? Mein Verständnis ist, dass modrewrite ignoriert Seite Anker, und dass der Browser befasst sich mit ihm? Ich vermute, dass ich irgendwie mod_rewrite verwenden kann die Ankerinformationen mit der Bitte zu schließen, aber ich habe nicht in der Lage, etwas zu finden dies zu dokumentieren und habe erfolglos versucht, es zu schreiben, mich stundenlang.

Danke!

War es hilfreich?

Lösung

Eigentlich, wenn Sie die wollen resultierende URL einen Anker haben, dann ja, es ist möglich. Vergessen Sie aber nicht, dass configs in Apache, # den Beginn eines Kommentars markiert.

Wenn das, was Sie wollen, ist so - Benutzer gibt

http://example.com/page/anchor
und wird
http://example.com/?p=page#anchor
umgeleitet - müßten Sie 301 Umleiten verwenden, oder so ähnlich, so wäre es nicht für den Benutzer transparent sein

Fazit: Obwohl es möglich ist, eine solche Umleitung Regel zu schreiben, kann es nicht vollständig serverseitige erfolgen. Also ich glaube, Sie /information/faq zeigen könnte /information.php?display=faq und dann URLs verwenden wie:.

http://example.com/information/faq#foo
die fast, was Sie wollen, und sie tun nicht vermasseln Caching

(Whoa, es ist Mitternacht schon?)

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