将文件夹结构的地址重定向到https?

时间:2013-03-11 20:39:44

标签: apache .htaccess

即使他们键入http,我也要确保我的所有流量都在ssl上。但我也希望它传递文件夹,所以mod_rewrite仍然可以工作。我尝试了这个糟糕的例子,但它不起作用。基本上,如果他们输入http://mydomain.com/apage,它会重定向到https://mydomain.com/apage

服务器:Apache2,LAMP堆栈。

的.htaccess

RewriteEngine on

RewriteCond %{HTTPS} !=on
RewriteRule ^(/) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]

我愿意调整Apache的虚拟主机文件,但我之前没有看到它。这是我第一次进入ssl主机。

2 个答案:

答案 0 :(得分:1)

如果您有权访问httpd.conf,我建议不要使用mod_rewrite或htaccess。 如果你想强制所有用户使用https(一个好主意)你可以在httpd.conf中添加这样的东西:

  

< VirtualHost 1.2.3.4:80>

    ServerName SSL.EXAMPLE.COM
    CustomLog /var/log/httpd/EXAMPLE.access_log combined
    ErrorLog /var/log/httpd/EXAMPLE.error_log

    Redirect / https://ssl.example.com/ 
     

< /虚拟主机>

     

< VirtualHost 1.2.3.4:443>

ServerName ssl.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM
.
.
. 
     

< /虚拟主机>

     

<目录/ var / www / html>

#If all else fails, this will ensure nothing can get in without being encrypted.
SSLRequireSSL 
     

< /目录>

答案 1 :(得分:1)

只需将http替换为https

RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]