.htaccess在hashtag之前删除文件扩展名

时间:2009-12-12 04:27:16

标签: regex .htaccess mod-rewrite

http://freddygonzalez.me/dev/update/index.html#mywork.html

如何使用.htaccess删除index.html

所以它看起来像这样 http://freddygonzalez.me/dev/update/#mywork.html

也可能存在一个冲突。如果用户按下徽标,他们就会得到这个 http://freddygonzalez.me/dev/update/index.html#index.html

那么有没有办法使用.htaccess来永远删除index.html但不删除#标签?

由于

2 个答案:

答案 0 :(得分:2)

URL的片段不会发送到服务器,仅供本地使用:

  

[...]片段标识符未在特定于方案中使用      处理URI;相反,片段标识符是分开的      从取消引用之前的其余URI开始,从而得到      识别片段本身内的信息被解除引用      完全由用户代理完成,无论URI方案如何。

所以没有办法从mod_rewrite的请求中删除它,因为服务器对片段一无所知。

但客户显然知道。因此,您可以使用一些客户端技术(如JavaScript)来删除或调整片段。

答案 1 :(得分:1)

根据jadew的评论,如果散列进入服务器,它应该匹配它。

RewriteEngine On
RewriteRule ^(dev/update/)index\.html(#.+\.html)$ $1$2 [L]