将Doamin和子域重定向到https:// www

时间:2018-09-17 12:16:31

标签: redirect https apache2 virtualhost codeigniter-htaccess

我的网站是用CodeIgniter编写的,并托管在Ubuntu 16.04上 我必须将所有域和子域重定向到https://www

例如:我想要这样

http://com-download.live         --> https://www.com-download.live
http://youtube.com-download.live --> https://www.youtube.com-download.live
http://vimeo.com-download.live   --> https://www.vimeo.com-download.live

注意:请向我建议一种更好的方法,在apache虚拟主机中还是在.htaccess中放置重定向规则的位置?

我在虚拟主机中放置的当前代码为:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)com-download\.live [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}$1 [R=301,L]

但是它不能正常工作

http://www.com-download.live重定向到http://www.www.com-download.live

2 个答案:

答案 0 :(得分:0)

我认为htacces重定向会更容易,示例如下:

 RewriteEngine On  RewriteCond %{SERVER_PORT} 80  RewriteRule ^(.*)$
 https://www.yourdomain.com/$1 [R,L]

但是考虑到将来进行编辑的可能性,最好通过服务器设置重定向,这样可以减少紧急情况,并且如果您有更多域,则更容易观察

控制台上的示例:

sudo nano /etc/apache2/sites-available/000-default.conf

RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

答案 1 :(得分:0)

RewriteEngine开启 RewriteCond%{HTTPS}!= on RewriteRule ^ {https://% {HTTP_HOST}%{REQUEST_URI} [L,R = 301]