У меня есть контроллер администратора, у которого есть несколько методов, которые я хочу защитить.
http://blabla.com/admin/
http://blabla.com/admin/edit_coupon/
http://blabla.com/admin/edit_photo/
Мне не нужна полноценная система аутентификации для этого сайта, поэтому я бы предпочел просто использовать htaccess и AuthType для любых / admin / URL-адресов.
Мой текущий .htaccess является базовым CI.
RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|uploads|images|css|js|videos|code|robots\.txt|favic
on\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
Как мне это сделать?
[Добавлено]
Я знаю, как использовать htaccess и htpasswd. Мой вопрос заключается в том, как защитить контроллер CI, который на самом деле не является каталогом (/ admin). Я попытался использовать директиву Location безуспешно. Вот этот htaccess:
<Location /admin>
AuthUserFile /var/www/vhosts/blabla.com/httpdocs/.htpasswd
AuthType Basic
AuthName "Admin"
Require valid-user
</Location>
RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|uploads|images|css|js|videos|code|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
Это выдает 500 Ошибка сервера.
Я считаю, что директива Location не может быть в файле htaccess, поэтому я также попробовал ее в httpd.conf этого сервера для этого VirtualHost. Не выдает ошибку, но не работает.