好的,所以我在使用 .htaccess 时遇到了一些麻烦。
我正在使用 Codeigniter 并且刚刚安装了 SSL 证书。它工作得很好,除了我在 Firefox 中没有看到蓝条,它说“您与此站点的连接仅部分加密”
这是我的 .htaccess 文件:
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (signin)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(signin)
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
我只想在某些页面上强制 SSL,从登录页面 (mydomain.com/signin) 开始。它似乎可以很好地删除 URL 中的 index.php/ 并且它似乎确实在强制该页面使用 SSL,但没有蓝条 :(
我还在配置文件中将我的 base_url 更改为以下内容以允许 http 和 https:
$config['base_url'] = $config['base_url'] = "http".((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "")."://".$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
非常感谢任何帮助:)