2013-02-28 17 views
17

Ich möchte umschreiben http://example.com/articles.html#first-article mit http://example.com/articles/first-article'Hash' URL-Rewrite in .htaccess

Ist es möglich zu umschreiben?

Ich habe versucht folgende verwenden, aber nicht für mich arbeiten:

RewriteRule ^articles/(.+)$ /articles\.html\#$1 
+1

Da @fab antwortet, wird das Fragment nicht an den Server gesendet. Sie könnten eine Catch-All-Seite einrichten und JavaScript zum Umleiten verwenden. – bouke

Antwort

19

Nein, es ist nicht möglich. Das URL-Fragment (alles von an) wird nicht einmal an den Server gesendet.

Vielleicht möchten Sie eine JavaScript-basierte Lösung in Betracht ziehen, bei der der tatsächliche Inhalt abhängig vom Fragment über AJAX geladen wird. Sie finden hier einige nützliche Informationen zu dieser Methode: What's the shebang/hashbang (#!) in Facebook and new Twitter URLs for?

+7

Dies sollte als die richtige Antwort deaktiviert werden, da es falsch ist. @ faa's Antwort ist in der Tat richtig. – designermonkey

+7

Hängt von der Frage ab. Die Antwort von @faa ist korrekt, aber das Problem des ursprünglichen Posters wird nicht angesprochen. –

+1

Guter Punkt, ich war ein bisschen müde, als ich alles zum ersten Mal las, mein Schlechter. – designermonkey

34

Die # kann in der Ersetzungs-URL mit dem NE-Flag hinzugefügt werden. Check:

So können Sie dies versuchen:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !articles\.html  [NC] 
RewriteCond %{REQUEST_URI} ^/articles/([^/]+)/? [NC] 
RewriteRule .*  /articles.html#%1   [R,NE,L] 

Leitet

http://example.com/articles/parameter

Um

http://example.com/articles.html#parameter

Die Zeichenfolge articles wird als fest angenommen, während parameter als variabel angenommen wird.

+18

Umleiten ** zu ** einem Anker war nicht die Frage. –

+7

Dies beantwortet diese Frage nicht, aber ist nützlich – zardilior

+0

Ähnliche Probleme hier kann ich nicht lösen. http://stackoverflow.com/questions/31859377/why-does-this-htaccess-rewriterule-that-includes-a-afail – user1452893