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

问题描述 投票:0回答:2

任何指向我的 Angular 应用程序的直接链接最终都会出现在网站的首页上。我该怎么做才能允许直接链接到我网站的特定部分?

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

没有直接链接起作用......它们最终都出现在首页上。在我的代码中我有:

$locationProvider.html5Mode(true);

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

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

javascript angularjs angular-ui-router
2个回答

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

© www.soinside.com 2019 - 2024. All rights reserved.