我的网站是用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
答案 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]