'哈希'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
被假定为固定的。