我想在Angular UI-router中添加漂亮的URL。我在Nailsx + Unicorn上使用Angular JS作为前端的Rails应用程序。
我想拥有像mysite / a / b / c这样漂亮的URL,没有'#'而且没有hashbang。当我将nginx的位置更改为:
server {
server_name yoursite.com;
root /path/to/app;
location / {
try_files $uri $uri/ @unicorn;
}
}
Unicorn会抛出此错误:
“/ path / to / app”的目录索引被禁止
关于如何设置nginx重定向的任何想法?给我的应用程序路径提供chmod并不是一个很好的解决方案我相信..
修改:问题在于使用try_files $ uri / index @unicorn,它可以正常工作,例如url.com/a/b。但是当我刷新时,它会自动将我重定向到root url.com。 UI路由器建议使用try_files $ uri $ uri / /index.html,但是当我这样做时,我得到nginx拒绝访问。文件夹/ path / to / app属于用户'deploy',因此它不是chmod问题..
答案 0 :(得分:0)
终于解决了!这是我的错误,因为我用角度运行我的应用程序我在rails routes.rb文件中忘记了这一行:
get '*path' => '/'
将其更改为
get '*path' => 'layouts#index'
其中布局#index是我的Angular布局,现在刷新url.com/a/b后,url会保留url.com/a/b并呈现相应的路径。
在nginx我的配置仍然是:
location /{
try_files $uri @unicorn;
}