Força angular um ponto de exclamação indesejado no URL
Quando clico aqui:<a href="#/home">home</a>
o URL élocalhost/Sites/App/#!/#%2Fhome
Quando clico aqui:<a href="#!/home">home</a>
o URL élocalhost/Sites/App/#!/home
Mas isso só funciona no meu computador, para meus colegas de trabalho é o contrário, os links não funcionam se houver!
no URL.
Entendo as práticas recomendadas de SEO, mas não temos um site público, precisamos ter um site funcionando sem ponto de exclamação no URL.
Eu entendo o/
no URL são codificados porque angular acho que este não é um separador de caminho, mas por que no meu único computador? Nós temos o mesmo código.
Usamos IIS ou IIS Express, Chrome ou IE, não há diferenças. Quando funciona para mim, não funciona para todos os outros.
Nas chamadas de redes do navegador, podemos ver que não há chamadas de servidor entre o clique no link e a geração incorreta de URL.
Esta é a configuração do módulo:
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);
...
});
Este é o 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"
}
}