仅在nginx中重写域的根

前端之家收集整理的这篇文章主要介绍了仅在nginx中重写域的根前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经运行YOURLS服务器来托管我公司的短网址,以便我们可以为客户提供简短的URL.

我正在使用Nginx,对于域的root,如果他们没有使用正确的短网址,我想重定向到我们的网站.因此,example.com / 218a重定向到短网址所指向的内容,但是example.com会访问我们的网站@ domain.com.

现在,我正在使用一个只有元刷新的index.html页面重定向,但我想我应该能够在Nginx配置中做到这一点,它可能会更好.

有人可以用正确的方式帮助我,如果可能的话,在服务器级别发生这种情况而不是使用元刷新吗?

我已经尝试了一些我在这里找到的例子,但它们似乎都没有用.

这是我的配置文件供参考.

server {
    server_name www.domain.com;
    return 301 $scheme://domain.com$request_uri;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/Nginx/html;
    index index.html index.htm index.PHP;

    # Make site accessible from http://localhost/
    server_name http://domain.com;

    location / {
        #YOURLS
        try_files $uri $uri/ /yourls-loader.PHP;
    }

    location ~ \.PHP${
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass PHP5-fpm-sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
    }
}
最佳答案
首先,server_name指令在主服务器块中无效. server_name仅包含域名,而不包含URL的任何其他部分.

要回答您的实际问题,请添加以下配置:

location = / {
    rewrite ^ http://domain.com permanent;
}

这使得所有与精确/位置重定向匹配的URI重定向http://domain.com

猜你在找的Nginx相关文章