nginx重写删除/index.html并保留查询字符串和哈希

时间:2017-01-09 00:09:51

标签: javascript angularjs .htaccess nginx

我的nginx配置将index index.html设置为其索引页。

当它作为渐进式网络应用程序打开时(使用角度),由于某种原因,它会加载/index.html#/route而不是/#/route

我想:

  1. 检测网址是否包含/index.html'
  2. 重写以删除/index.html以更正网址。
  3. 这可能在nginx中使用,还是应该在javascript中执行此操作?

    我在这里找到了articles和答案,但它们似乎没有考虑到保留重要的哈希标记和查询字符串参数。

1 个答案:

答案 0 :(得分:1)

您需要更好的正则表达式模式(基于文章)。

rewrite ^(?:.*\/)index.html(.*) /$1 permanent;

它捕获.html之后的URL,第一组是不捕获的。

取代:

/index.html#/route    /#/route
/index.html#something    /#something