Nginx 301 重定向redirect 域名配置ssl http 301 重定向到https 配置

以搜寻引擎来看网址,有带www 和不带www 的网址是不同的两个URL,当它们指向同一个网站时,会让搜寻引擎不知应该选择哪一个URL 作为主要的网址。

若WordPress 网站可以进入管理后台,在WordPress Address (URL) 和Site Address (URL) 打入网址,决定要不要带www 网址。

我刚好代管一个Joomla 网站,后台就没有设置的选项,就需要从主机采用301 重定向(redirect) 进行URL 标准化设置。

先在DNS 设置好域名的A 纪录及CNAME,我要定义域名原本是wentong.org 重定向为www.wentong.org 网址,然后在nginx/sites-available/wentong.org.conf 文件配置如下:

server {

listen 80;

server_name www.wentong.org;

root /var/www/wentong.org;

}

在配置文件的最下面添加以下配置

server {

listen 80;

server_name wentong.org;

return 301 $scheme://www.wentong.org$request_uri;

}

还有一种配置方法:

server

{

listen 80;

server_name www.wentong.org wentong.org;

if ($host != 'www.wentong.org' ) {

rewrite ^/(.*)$ http://www.wentong.org/$1 permanent;

}

另外补上其他重定向的配置,http 301 重定向到https 配置:

server {

listen 80;

server_name www.wentong.org wentong.org;

return 301 https://www.wentong.org$request_uri;

}

301重定向新网址:

(aaa.wentong.org 301重定向新网址bbb.wentong.org)

rewrite ^(.*)$ https://bbb.wentong.org permanent;

最后不要忘记重启Nginx

nginx -t && service nginx restart

接手一个WordPress 已经建置好了搬迁主机的案子,一般正常的WordPress 后台就可以设定域名要不要有www,但是很多外挂因素会造成域名转向(redirect) 的问题。

所以只能从主机端来执行,将配置写入etc / nginx / sites-available / domain.com

例如:不带www 域名301 转址(redirect) 到有www 的域名

root /var/www/domain.com/htdocs;

if ($host != www.wentong.org) {return 301 $scheme://www.wentong.org$request_uri;}

例如:有带www 域名301 转址(redirect) 到没有www 的域名

root /var/www/domain.com/htdocs;

if ($host != wentong.org) {return 301 $scheme://wentong.org$request_uri;}

Nginx 重启后,域名有没有www 就会由主机端的配置来控制了。

参考文件:

Nginx官方Rewrite文档

专题关注:Linux系统一键安装LNMP网站环境

内容介绍:Linux Shell 编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/ Amazon/ Mint Linux VPS 或独立主机安装 LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/ PHP/Apache)、LAMP(Apache/MySQL/PHP) 生产环境的 Shell 程序。同时提供一些实用的辅助工具如:虚拟主机管理、FTP 用户管理、Nginx、MySQL/MariaDB、PHP 的升级、常用缓存组件 Redis、Xcache 等的安装、重置 MySQL Root 密码、502 自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:Nginx 301 重定向redirect 域名配置ssl http 301 重定向到https 配置