从特定控制器中删除.htaccess密码保护

时间:2013-10-02 05:17:07

标签: apache .htaccess codeigniter

我有一个CI项目都受.htaccess密码保护。 .htaccess密码保护是从根文件夹设置的。但由于它为移动应用程序提供了API,因此必须为此特定控制器取消保护,以便移动设备可以与该特定控制器进行通信。

最好的方法是什么?

我尝试在根文件夹中的主.htaccess中添加以下内容。

<Files "/home/path/to/project/root/my_specific_controller">
  Allow from all
  Satisfy any
</Files>

还尝试了以下.htaccess来放入控制器文件夹本身。

<Files "my_specific_controller"> # this is the name of my CodeIgniter controller
  Allow from all
  Satisfy any
</Files>

这两个都不起作用。谢谢你的帮助。

根文件夹中的主要.htaccess文件现在是这样的:

RewriteEngine On
RewriteBase /project/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ^(.*)$ index.php/$1 [L]

<Files "/home/path/to/project/root/my_specific_controller">
  Allow from all
  Satisfy any
</Files>


AuthType Basic
AuthName "Pswd Protected Area"
AuthUserFile /home/path/to/project/root/.htpasswd
Require valid-user

1 个答案:

答案 0 :(得分:3)

查看允许单个网址的示例。 http://css-tricks.com/snippets/htaccess/allow-single-url/ 虽然此代码段针对不同的测试环境,但它显示了如何根据URL 允许特定请求,而不是服务器上的文件位置。