'哈希'url重写.htaccess

我想用http://example.com/articles/first-article重写http://example.com/articles/first-article

有没有可能重写?

我尝试使用以下,但没有为我工作:

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

不,这是不可能的。 URL片段 (从#开始的所有内容)甚至不会被发送到服务器。

也许你想考虑一个基于JavaScript的解决scheme,其中的实际内容将通过AJAX加载依赖于片段。 你会在这里find关于这个方法的一些有用的信息: Facebook中的shebang / hashbang(#!)和新的Twitter URLs是什么?

#可以通过NE标志添加到replaceURL中。 检查:

  • 这个Apache链接具体描述了如何redirect anchors

  • 这个W3C协议链接和这一个 。

  • SO中的这个答案相当完整 。

  • 另一个答案在SO 。

  • SO (我的)的另一个答案 。

所以,你可以试试这个:

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

redirect

http://example.com/articles/parameter

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

假设parameter被假定为可变的,则stringarticles被假定为固定的。