任何指向我的 Angular 应用程序的直接链接最终都会出现在网站的首页上。我该怎么做才能允许直接链接到我网站的特定部分?
例如,在我的角度应用程序中,如果有人单击我的“关于”页面的导航链接,他们就可以正常到达那里。 URL 栏显示“http://something.com/about”。但是,如果他们直接输入该网址,他们最终会出现在网站的首页(网址为:http://something.com)。
没有直接链接起作用......它们最终都出现在首页上。在我的代码中我有:
$locationProvider.html5Mode(true);
顺便说一句,这是在 nginx 上运行的。
但显然这还不足以使直接链接起作用?
是的,正如Syntax所说,html5路由需要服务器端配置。
https://coderwall.com/p/mycbiq
单击链接和导航由 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]