AngularJS - 直接链接始终将用户发送到主页面

时间:2014-02-06 19:37:25

标签: javascript angularjs angular-ui-router

任何与我的角度应用程序的直接链接最终都会显示在网站的首页上。如何才能直接链接到我网站的特定部分?

例如,在我的角度应用程序中,如果有人点击导航链接到我的关于页面,他们就可以了。 URL栏显示“http://something.com/about”。但是,如果他们直接输入该网址,则会最终显示在网站的首页上(网址为:http://something.com)。

没有直接链接工作......它们都会在首页上显示。在我的代码中,我有:

$locationProvider.html5Mode(true);

顺便说一句,这是在nginx上运行的。

但显然这还不足以使直接链接工作?

2 个答案:

答案 0 :(得分:1)

答案 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