Cru*_*tie 9 javascript iis url angularjs
当我点击这个:<a href="#/home">home</a>网址是localhost/Sites/App/#!/#%2Fhome
当我点击这个:<a href="#!/home">home</a>网址是localhost/Sites/App/#!/home
但这仅适用于我的计算机,对于我的同事则相反,如果!网址中有链接,则链接不起作用.
我了解SEO最佳实践,但我们没有公共网站,我们需要在网址中使用没有感叹号的网站.
我理解/url是编码的,因为有角度认为这不是路径分隔符,但为什么在我唯一的计算机?我们有相同的代码.
我们使用IIS或IIS express,Chrome或IE,没有任何区别.当它适用于我时,它不适用于所有其他人.
在浏览器网络调用中,我们可以看到链接上的点击和坏网址生成之间没有服务器调用.
这是模块配置:
angular.module('paper.app', [ 'ngMaterial'
, 'ngMessages'
, 'ngRoute'
, ...])
.config(function ($routeProvider, $mdThemingProvider, $mdIconProvider, $locationProvider, $mdDateLocaleProvider, contentUrl, contentSvg) {
$routeProvider
.when("/", {
templateUrl: contentUrl + 'view-home/html/home.html',
controller: 'HomeController',
controllerAs: 'homeCtrl'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(false);
...
});
Run Code Online (Sandbox Code Playgroud)
这是bower.json:
{
"name": "...",
"version": "1.0.0",
"authors": [
"..."
],
"ignore": [
"node_modules",
"bower_components"
],
"description": "",
"main": "",
"homepage": "",
"dependencies": {
"angular": "^1.5.7",
"angular-material": "^1.0.9",
"angular-route": "^1.5.7",
"angular-material-data-table": "^0.10.9",
"moment": "^2.14.1"
}
}
Run Code Online (Sandbox Code Playgroud)
Fou*_*Two 32
我通过添加这个来解决它:
$locationProvider.hashPrefix('');
Run Code Online (Sandbox Code Playgroud)
//客户端配置为漂亮的url //从url中删除#
$locationProvider.html5Mode(true);
Run Code Online (Sandbox Code Playgroud)
并将其添加到您的index.html
<base href="/"></base>
| 归档时间: |
|
| 查看次数: |
7592 次 |
| 最近记录: |