'hash'url在.htaccess中重写

时间:2013-02-28 10:23:04

标签: .htaccess mod-rewrite

我想用http://example.com/articles.html#first-article

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

是否可以重写?

我尝试使用以下但不适合我:

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

2 个答案:

答案 0 :(得分:36)

可以在带有NE标志的替换URL中添加#。检查:

所以,你可以试试这个:

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

重定向

http://example.com/articles/parameter

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

假设字符串articles是固定的,而假设parameter是可变的。

答案 1 :(得分:19)

不,这是不可能的。 URL片段(来自#的所有内容)甚至无法发送到服务器。

也许您想要考虑基于JavaScript的解决方案,其中实际内容将通过AJAX加载,具体取决于片段。您可以在此处找到有关此方法的一些有用信息:What's the shebang/hashbang (#!) in Facebook and new Twitter URLs for?