nginx - Nginx删除WWW并同时回应

标签 nginx http-status-code-301

我有以下nginx配置片段:

server {
   listen 80;

   server_name mydomain.io;

   root /srv/www/domains/mydomain.io;

   index index.html index.php;

   access_log /var/log/nginx/domains/mydomain.io/access.log;
   error_log /var/log/nginx/domains/mydomain.io/error.log;

   location ~\.php {
      try_files $uri =404;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_intercept_errors on;
      fastcgi_pass 127.0.0.1:9000;
      include /etc/nginx/fastcgi_params;
   }
}

首先,如何使服务器块响应both http://www.mydomain.io以及http://mydomain.io。其次,如果它们来自http://www.mydomain.io,我想强制将其重定向到http://mydomain.io

谢谢。

最佳答案

关于第一个问题-只需添加两个域:

server_name mydomain.io www.mydomain.io;

第二,您将需要以下简单的重定向:
server {
      listen 80;

      server_name www.mydomain.io mydomain.io;

      if ($host = 'www.mydomain.io' ) {
         rewrite  ^/(.*)$  http://mydomain.io/$1  permanent;
      }

关于nginx - Nginx删除WWW并同时回应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11323735/

相关文章:

javascript - 处理跨域中 REST 响应的 301 和位置 header

amazon-web-services - Amazon AWS 307 响应和永久重定向到 HTTPS

.htaccess - 如何将网站从 https 域移动到 https 域 (301)

python - Flask + uwsgi + nginx : TypeError: . .. 不带参数(给定 2 个)

shell - 从 bash 脚本文件运行 docker-compose

iis-7 - IIS7 301 从 URL 列表重定向

java - 在 Struts2 中如何在没有参数出现在 URL 中的情况下进行永久重定向(状态代码 301)

http-status-code-301 - Google Cloud DNS 和 301 重定向

nginx - 有没有办法获取nginx中的当前时间?

logging - 如何在nginx中记录所有 header ?