0

我有一个受 .htaccess 密码保护的 CI 项目。.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
4

1 回答 1

3

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

于 2013-10-02T05:46:13.700 回答