nginx中root和alias的区别

我会带着你远行 2022-09-08 06:00 284阅读 0赞

今天使用nginx搭建了一个网站,访问后出现404错误Not found. 上网查了一下原因,是由于nginx的配置不对。因为我是有两个web目录,这两个目录在不同的位置上。而且我不想把两个目录合并在一起,所以就要配置两个location。配置如下:

  1. server {
  2. listen 80 default_server;
  3. listen [::]:80 default_server ipv6only=on;
  4. index index.html index.htm;
  5. # Make site accessible from http://localhost/
  6. server_name localhost;
  7. location / {
  8. root /www;
  9. # First attempt to serve request as file, then
  10. # as directory, then fall back to displaying a 404.
  11. try_files $uri $uri/ =404;
  12. # Uncomment to enable naxsi on this location
  13. # include /etc/nginx/naxsi.rules
  14. }
  15. location /website/ {
  16. root /var/lib/www;
  17. autoindex on;
  18. }
  19. }

上面的配置浏览http://localhost/website/会显示404错误,因为root属性指定的值是要加入到最终路径的,所以访问的位置变成了/var/lib/www/website/。而我不想把访问的URI加入到路径中。所以就需要使用alias属性,其会抛弃URI,直接访问alias指定的位置, 所以最终路径变成/var/lib/www/。(最后需要加斜线)

  1. location /website/ {
  2. alias /var/lib/www;
  3. autoindex on;
  4. }

发表评论

表情:
评论列表 (有 0 条评论,284人围观)

还没有评论,来说两句吧...

相关阅读