0

问题:所有网址都转到我的登录页面,包括基本的“/about”和“/contact”

示例:网址 www.mydomain.com 完美运行(加载 css 等),但 www.mydomain.com/about 会转到 www.mydomain.com,即使它在地址栏中显示 www.mydomain.com/about。

问题:如何配置 nginx 以简单地将所有内容传递给 django?

我正在将使用 django 在本地编写的网站部署到 EC2 实例。我可以访问我的默认登录页面,但我无法访问任何其他页面。我有一个带有 /about、/contact 映射的基本站点,但是当我访问它们时,我只是被重定向到我的登录页面。我很确定这与我的 nginx 配置有关,但是在查看了基本的 nginx 教程之后,我认为我没有掌握我所缺少的东西。

这是我的 nginx 配置文件...

server {
  listen 80;
  server_name mydomain.com;
  access_log /var/log/nginx/sample_project.access.log;
  error_log /var/log/nginx/sample_project.error.log;

  # https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
  location /static/ { # STATIC_URL
      alias /home/ubuntu/path/to/static/; # STATIC_ROOT
      expires 30d;
  }

  location /media/ { # MEDIA_URL
      alias /home/ubuntu/path/to/static/; # MEDIA_ROOT
      expires 30d;
  }

  # I have also tried 'location ~* ^(.*?)$' and it had the same effect
  location / {
      include fastcgi_params;
      fastcgi_pass 127.0.0.1:8080;
  } 
}

当我阅读 nginx 教程/等时,我可以理解它可以做很多事情,但我更愿意通过 django 处理所有传入的 url。

4

2 回答 2

0

我在 EC2 上使用Gunicorn + Nginx配置了我的 Django 站点,它对我来说很好用。步骤在这里

于 2012-08-14T06:31:57.550 回答
0

我刚刚使用了这个 nginx conf 文件,它开始正常工作。我认为这可能是在 location 元素中添加了一个参数,起到了作用。

https://code.djangoproject.com/wiki/ServerArrangements

于 2012-08-15T15:01:26.573 回答