加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

仅在nginx中重写域的根

发布时间:2020-12-13 21:23:25 所属栏目:Nginx 来源:网络整理
导读:我已经运行YOURLS服务器来托管我公司的短网址,以便我们可以为客户提供简短的URL. 我正在使用nginx,对于域的root,如果他们没有使用正确的短网址,我想重定向到我们的网站.因此,example.com / 218a重定向到短网址所指向的内容,但是example.com会访问我们的网站@

我已经运行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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读