【问题标题】:Forcing https on codeigniter on fastcgi在 fastcgi 上的 codeigniter 上强制 https
【发布时间】:2014-05-25 22:35:09
【问题描述】:

我正在尝试在 apache FastCGI 上使用以下 .htaccess 在某些 url 上强制使用 ssl。但问题是当我尝试浏览 http://[hostname]/basket 时,它会重定向到 http://[hostname]/index.php?/basket 而不是 https://[hostname]/basket。下面是代码。我被这个困住了,请帮忙

RewriteEngine on
RewriteBase /



RewriteCond %{HTTPS} off 
RewriteCond $1 (checkout|basket)
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTPS} on 
RewriteCond $1 !(checkout|basket)
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]

【问题讨论】:

    标签: .htaccess codeigniter ssl fastcgi


    【解决方案1】:

    此问题已解决:如果其他人遇到相同问题,以下是代码:

    RewriteEngine on
    RewriteBase /
    
    RewriteCond %{HTTPS} off 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 (checkout|basket)
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    
    RewriteCond %{HTTPS} on 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !(checkout|basket)
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-09
      • 2013-10-26
      • 2015-06-25
      • 2021-08-20
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 2012-07-11
      相关资源
      最近更新 更多