任何与我的角度应用程序的直接链接最终都会显示在网站的首页上。如何才能直接链接到我网站的特定部分?
例如,在我的角度应用程序中,如果有人点击导航链接到我的关于页面,他们就可以了。 URL栏显示“http://something.com/about”。但是,如果他们直接输入该网址,则会最终显示在网站的首页上(网址为:http://something.com)。
没有直接链接工作......它们都会在首页上显示。在我的代码中,我有:
$locationProvider.html5Mode(true);
顺便说一句,这是在nginx上运行的。
但显然这还不足以使直接链接工作?
答案 0 :(得分:1)
是的,就像Syntax所说,html5路由需要服务器端配置。
https://coderwall.com/p/mycbiq
How do I configure IIS for URL Rewriting an AngularJS application in HTML5 mode?
http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/
答案 1 :(得分:0)
单击链接并导航由AngularJS处理,这对您有用。加载URL并导航到正确的页面由服务器处理。您需要设置一个可以处理此方案的重写规则。
.htaccess(适用于Apache服务器):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteCond %{REQUEST_URI} !.*\.(css¦js|html|png) #Add extra extensions needed.
RewriteRule (.*) index.html [L]
<强> Node.js的:强> https://npmjs.org/package/grunt-connect-pushstate