Apache 2.4 将域名指向www及默认跳转https的方法
来源:互联网 发布:中超数据库 编辑:程序博客网 时间:2024/05/01 15:15
对于单个域名的ssl
证书来说,我们只能用在单一的common name
上,例如www.mydomain.com
,而mydomain.com
或者eagle.mydomain.com
是没有办法使用的。除非我们购买了wildcard
的证书,否则我们需要使用Apache
的mod_rewrite
来达到跳转到ssl
证书所保护的地址上。
我们需要达到的效果:将所有对于mydomain.com/any/file/path
及http://www.mydomain.com/any/file/path
的请求跳转到对应的https://www.mydomain.com/any/file/path
上
要完成以上的步骤,我们需要使用apache
的vhosts
。这里默认我们已经建立了ssl
版本的vhost
文件,并且https://www.mydomain.com
可以正常访问。本文使用的环境是Ubuntu 16.04 + Apache 2.4
,如果你的apache
版本较老,请根据官方文档做相应调整。
基本的思路就是新建www.mydomain.com.conf
这个vhosts
文件,然后添加上Rewrite Rules
。
好了,那我们就开始。首先从默认的vhosts
文件复制出我们需要的配置文件:
$ cd /etc/apache2/sites-available$ ls -l000-default.conf default-ssl.conf$ cp 000-default.conf www.mydomain.com.conf
接下来我们修改www.mydomain.com.conf
:
$ vim www.mydomain.com.conf<VirtualHost *:80> ServerName www.mydomain.com ServerAlias mydomain.com RewriteEngine On RewriteRule ^/(.*)$ https://www.mydomain.com/$1 [R=301]</VirtualHost>
这样一来www.mydomain.com
的跳转就配置好了,接下来我们运行
$ a2ensite www.mydomain.com$ systemctl restart apache2
完成后我们所有对于mydomain.com
及http://www.mydomain.com
的请求都会默认跳转至https://www.mydomain.com
上了。
那么如果我们仅仅是需要将mydomain.com
的请求全部跳转至www.mydomain.com
呢?
也很简单,我们只需要创建www.mydomain.com.conf
及mydomain.com.conf
这两个vhosts
文件,然后在mydomain.com.conf
添加我们的Rewite Rules
:
$ vim mydomain.com.conf<VirtualHost *:80> ServerName mydomain.com RewriteEngine On RewriteRule ^/(.*)$ www.mydomain.com/$1 [R=301]</VirtualHost>
然后www.mydomain.com.conf
中正常填写我们的配置即可:
$ vim www.mydomain.com.conf<VirtualHost *:80> ServerName www.mydomain.com # Your other options go here...</VirtualHost>
完成后,输入以下命令就可以了:
$ a2ensite www.mydomain.com$ a2ensite mydomain.com$ systemctl restart apache2
- Apache 2.4 将域名指向www及默认跳转https的方法
- apache如何将顶级域名跳转到www子域名中?
- apache如何将顶级域名跳转到www子域名中?
- 不带WWW的域名跳转到带WWW的域名地址Apache重写规则
- 不带WWW的域名跳转到带WWW的域名地址Apache重写规则
- apache基于主机的域名指向
- Apache实现主域名301自动跳转到www二级域名
- 将域名指向子目录
- 如何实现域名A指向域名B?三种域名跳转方法供选择
- apache虚拟主机转发配置域名默认跳转首页
- 根域名301到带www的域名的方式及检测方法
- 域名加www与不加www的区别及301重定向的方法
- nginx 301跳转到带www域名方法rewrite
- nginx 301跳转到带www域名方法rewrite
- nginx 301跳转到带www域名方法rewrite
- 域名从www跳转到非www,Apache和Nginx2种解决方式
- 不让其它域名指向到我的服务器(Apache 禁止未授权域名指向 )
- nginx 301跳转到带www域名方法(不带www访问时重定向到带www域名)
- Linux JDK安装
- 简单的点击图片放大
- PAT——1022 D进制的A+B
- 详细解释数据挖掘的十大算法
- Add Two Numbers
- Apache 2.4 将域名指向www及默认跳转https的方法
- PCB阻抗匹配
- HDU
- 静态库中使用回调函数(-)
- forward和redirect的区别
- GitHub代码管理学习之路(二)
- Java中的switch-case的用法
- springMVC的工作流程
- 介绍一下我的足球主队拜仁慕尼黑