重写NGINX URL位置


Rewrite NGINX URL Location?

我想在我的服务器上与NGINX一起使用贝加尔湖。贝加尔湖的index.php在/beakal/html/中

以下配置的请求适用于此url:

https://www.mydomain.com:8001/baikal/html

如何更改的NGINX配置

https://www.mydomain.com:8001/baikal

被重定向到https://www.mydomain.com:8001/baikal/html?

这是我的NGINX配置:

server {
        listen 8001;
        ssl on; # <-------------------------------------------- SSL
        ssl_certificate /etc/nginx/ssl/seahub.crt; # <--------- SSL
        ssl_certificate_key /etc/nginx/ssl/seahub.key; # <----- SSL
        server_name confile.no-ip.biz; #.tld; # <----------------- CHANGE THIS
        root /usr/share/nginx/www;
        index index.html index.htm index.php;
        rewrite ^/.well-known/caldav /cal.php redirect;
        rewrite ^/.well-known/carddav /card.php redirect;
        location / {

        location ~ ^(.+'.php)(.*) {
                try_files $fastcgi_script_name =404;
                fastcgi_split_path_info ^(.+'.php)(.*)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO        $fastcgi_path_info;
                fastcgi_index index.php;
                include fastcgi_params;
        }
        charset utf-8;
        location ~ /('.ht|Core|Specific) {
                deny all;
                return 404;
        }
        }
}

首先,您不应该在另一个location中包含location。确保它们都是分开的。

接下来,要真正创建重写:

location = /baikal {
  return 301 /baikal/html
}

应该做到这一点。