[英]How should I structure my AngularJS routing to handle URL rewriting and page refreshes?
我正在使用AngularJS建立自己的网站。 我希望我的网站导航在没有页面浏览时存在的“浏览器闪烁”的情况下运行,例如,单击index.html
上的链接,该链接将您带到foo.html
。 我还希望使用干净的URL,例如,我可以转到mysite.com/foo
并让浏览器在foo.html
显示内容。
Angular在HTML5模式下的客户端路由是一种有效的解决方案,但也有例外:
如果转到mysite.com
,则可以配置$routeProvider
以将视图映射到适当的部分(例如index.html
或foo.html
),并修改浏览器显示的URL。 但是,如果我通过直接在浏览器中键入URL来访问mysite.com/foo
,则会收到404错误,因为服务器正在mysite.com/foo/
中查找不存在的内容。 如果在Angular指向mysite.com/foo
时刷新页面,也会发生同样的情况。
简而言之,仅当从Angular应用程序中导航时,才能正确处理导航到mysite.com/foo
。
如何处理此问题,以便我的网站按照我想要的方式运行? 是否在404时使用PHP和/或mod_rewrite
将浏览器重定向回mysite.com
?
本质上, 无论URL是由Angular设置还是在浏览器URL栏中手动键入 ,我都希望URL mysite.com/foo
显示mysite.com
视图+ foo.html
部分。
是的,您需要类似mod_rewrite的东西。
http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.