私はhtml5modeを使用しようとしています。私はこのように使用しています:私は「/」「頭」タグ内のHREFセットで「ベース」タグを使用していangularjs - html5modeは正常に動作しません。
そして、私のメインを(HTML ...でこれを書くことはできません)モジュールは、怒鳴るのようルートを扱っている:
angular.module('MyChef', [
'Authentication',
'Home',
'UserArea',
'ngRoute',
'ngCookies'
])
.config(['$routeProvider', '$locationProvider', function ($routeProvider,$locationProvider) {
$routeProvider
.when('/login', {
controller: 'LoginController',
templateUrl: 'modules/authentication/views/login.html'
})
.when('/', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.html'
})
.when('/home', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.html'
})
.when('/user-area', {
controller: 'UserAreaController',
templateUrl: 'modules/user-area/views/user-area.html'
})
.otherwise({ redirectTo: '/' });
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
});
}]).run(//doesn't matter I guess...);
あなたは私が使用しようとしている見ることができるように私のパスにハッシュを無視した「偽」として設定「requireBase」が、機能していません。
私のnginxの設定ファイル:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/site/public;
server_name mychefake.com.br;
location/{
index index.html;
try_files $uri $uri/ =404;
}
location /api {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Port 443; #this is important for Catalyst Apps!
rewrite /api(.*) /$1 break;
proxy_pass http://localhost:5000; #changed from http://localhost:5000/
}
}
行動:
私がアクセスした場合のようなもの:私はログインしていないよ場合、私は( '/ログイン' にリダイレクトされていますhttp://localhost
-に)。それで大丈夫です!
しかし、「#」を付けずにこのページをリロードしようとすると、私の顔に404ページあります。どうして?
私は何かをnginx設定ファイル(おそらく書き直し)で行う必要があると思います。 AngularJSでこれを直接行うことはできますか?
ありがとうございます!
ファイルが存在します(index.html?!?)が存在します。しかし、あなたが話していることを正確に理解できない可能性があります(申し訳ありません)。とにかく、私はどのようにnginx(RewriteRuleの例外)でこのapacheコマンドを再現するか分からない。リサーチ中... –