角度应用程序URL与应用程序目录中的实际目录路径冲突,出现Nginx 403错误

时间:2016-09-20 09:17:35

标签: angularjs nginx

我有一个Angular App,其文件系统结构如下:

├── README.md
├── app
│   ├── mycomp
│   │   ├── mycomp.component.js
│   │   ├── mycomp.module.js
│   │   └── mycomp.template.html
│   ├── app.config.js
│   ├── app.css
│   ├── app.module.js
│   ├── app.spec.js
│   ├── index.html
├── bower.json
├── e2e-tests
├── karma.conf.js
├── node_modules
├── package.json

我的app.config.js的路线为:

angular.
module('MyApp').
config(['$locationProvider', '$stateProvider', '$urlRouterProvider',
    function config($locationProvider, $stateProvider, $urlRouterProvider) {
        $urlRouterProvider.otherwise('/home');
        $locationProvider.html5Mode({
            enabled: true
        });
        var myCompState = {
                name: 'myComp',
                url: '/mycomp',
                template: '<mycomp></mycomp>'
            };
        $stateProvider.state(myCompState);
    }
]);

所以,当我点击http://app.localhost/mycomp时,Nginx会抛出403 Forbidden Error,因为mycomp是一个目录,我想将其作为应用程序路径访问。

mycomp内的

app目录只包含.js.css.html个文件。

我的Nginx配置是:

server {
        listen       80;
        server_name  app.localhost;
        root /usr/local/AngularApp/app;
        location ~ \.(gif|jpg|jpeg|png|js|css)$ {
        }
        location / {
            try_files $uri $uri/ /index.html =404;
        }

如何制作Nginx规则,如果它是一个类似路径的目录,即没有任何扩展名,它只使用/index.html来解析它?

0 个答案:

没有答案