19

http://example.com/articles.html#first-articleで書き直したいhttp://example.com/articles/first-article

書き直しは可能ですか?

以下を使用してみましたが、うまくいきませんでした:

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

2 に答える 2

45

The # can be added in the substitution URL with the NE flag. Check:

So, you may try this:

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

Redirects

http://example.com/articles/parameter

To

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

String articles is assumed to be fixed while parameter is assumed to be variable.

于 2013-02-28T12:05:32.813 に答える
20

いいえ、できません。URLフラグメント(以降のすべて#)はサーバーに送信されません。

実際のコンテンツがフラグメントに依存する AJAX 経由で読み込まれる JavaScript ベースのソリューションを検討したい場合があります。この方法に関する有益な情報がいくつか見つかります: What's the shebang/hashbang (#!) in Facebook and new Twitter URLs for?

于 2013-02-28T10:27:47.917 に答える