dongxi5494 2015-11-03 16:05
浏览 43
已采纳

Nginx捕获所有域名,然后添加www,如果不存在

This setup is for multiple domain sharing a single CMS platform. It will allow any domain to point to my server ip.

I can use nginx server_name _; to catch all.

But then I would like to 301 redirect to www (appending www. infront) if www is not present. If www is present, it's fine.

How can i achieve this?

  • 写回答

2条回答 默认 最新

  • doutuo7609 2015-11-05 07:51
    关注

    I have solved this by using following nginx server configuration.

    server {
        listen 80 default_server;
        server_name ~^(?!www\.)(?<domain>.+)$;
        return 301 $scheme://www.$domain$request_uri;
    }
    
    server {
        listen 80;
        server_name ~^(?<domain>.+)$;
        root /home/wwwroot/web;
        ..
        ..
    }
    

    This will allow any domain and 301 redirect to www.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。