当前位置: 首页 > 面试题库 >

Angular 2从网址中删除哈希(#)

孙梓
2023-03-14
问题内容

我正在尝试从Angular 2中的网址中删除#号,但找不到如何在不产生任何问题的情况下删除它的任何好的解释。

我记得在AngularJS 1上添加起来比较容易 $locationProvider.html5Mode(true);

如果您能告诉我这是否是一种好的做法(删除#)或可能会影响应用程序的SEO(或对其进行改进),我也将不胜感激。

PS:我正在将Angular 2与打字稿一起使用


问题答案:

正如@Volodymyr Bilyachat指出的那样,这PathLocationStrategy是Angular2中的默认位置策略,并且如果#url中存在,则一定是在某处被覆盖了。

在模块提供程序旁边,检查模块导入,也可以通过提供{ useHash: true }作为第二个参数来覆盖它RouterModule.forRoot

imports: [
    ...
    RouterModule.forRoot(routes, { useHash: true })  // remove second argument
]

另请注意,在使用时,PathLocationStrategy您需要配置Web服务器index.html以为所有请求的位置提供服务(应用程序的入口点)。



 类似资料:
  • 问题内容: 我要在我的一个项目中对分页进行ajax化,并且由于我希望用户能够为当前页面添加书签,因此我通过哈希附加页面编号,例如: 并且多数民众赞成在它工作正常,一切,除了,当页码为1时,我不想成为,我只是希望它成为 我尝试了以下变体: 的作品,但网址现在就像,我不很哈希那里。 根本不使用window.location.hash,但是当用户从第3页回到第1页时,他位于第1页,但是url仍然是因为我

  • 问题内容: 我要在我的一个项目中对分页进行ajax化,并且由于我希望用户能够为当前页面添加书签,因此我通过哈希附加页面编号,例如: 多数民众赞成在它工作正常,一切,除了,当页码为1,我不想成为,我只是希望它成为 我尝试了以下变体: 的作品,但网址现在就像,我不很哈希那里。 根本不使用window.location.hash,但是当用户从第3页回到第1页时,他位于第1页,但是url仍然是因为我没有弄

  • 问题内容: 我正在使用scrapy抓取一个似乎在每个URL末尾向查询字符串添加随机值的网站。这将爬网变成一种无限循环。 我如何抓紧忽略URL的查询字符串部分? 问题答案: 示例代码: 输出示例:

  • 问题内容: 我知道这是一个非常受欢迎的问题,但是我一直无法找到适用于Laravel 5的解决方案。我已经尝试了很长时间从Codeigniter进行迁移,但是这种复杂的安装过程使我望而却步。 我不想运行虚拟机,在项目之间切换时这似乎很尴尬。 我不想将我的文档根目录设置为公用文件夹,这在项目之间切换时也很麻烦。 我已经尝试过.htaccess mod_rewrite方法 这只是在74.10行中给了我一

  • 问题内容: 从Java脚本的路径中删除查询字符串的简单方法是什么?我已经看到了使用window.location.search的Jquery插件。我不能这样做:在我的情况下,URL是从AJAX设置的变量。 问题答案: 一个简单的方法是: 对于那些还希望 在不存在querystring的情况* 下 删除哈希 (不是原始问题的一部分)的人,需要做更多的工作: * 编辑 @caub(最初为@crl)建议

  • 问题内容: 我想要任何类似的请求,将301重定向到。 我尝试添加: 问题在于,此重写操作是在根URL上运行的,这将导致无限重定向循环。 编辑: 我需要一个一般的解决方案 应该提供文件 ,应该将301重定向到 应该301重定向到 应该在以下位置提供index.php脚本 基本上,我永远不想在地址栏中显示“ index.php”。我有旧的反向链接,我需要将其重定向到规范网址。 问题答案: 很好的问题,