我有一个CodeIgniter应用程序,我想强制只有管理员使用HTTPS连接,而单个用户必须使用HTTP。
我在管理员控制器的控制器文件夹中有另一个文件夹,因此我尝试重定向包含服务器名称或服务器IP地址的每个请求以及URL中的admin。像这样:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule !^/admin/(.*) - [C]
RewriteRule ^/(.*) http://www.example.com/$1 [QSA,L]
它应该将每个请求重定向到http站点,该站点不包含URI中的admin
表达式,但不起作用且仍在使用HTTPS。我的基本网址是:
$config['base_url'] = 'https://127.0.0.1';
我想要这个:
http://127.0.0.1/blog for users
https://127.0.0.1/admin/blog/addnew for admin
答案 0 :(得分:0)
我不是Apache魔术师,但应工作 -
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
来源:htaccess redirect all to https to http except for one folder