我有一个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
答案 0 :(得分:3)
查看允许单个网址的示例。 http://css-tricks.com/snippets/htaccess/allow-single-url/ 虽然此代码段针对不同的测试环境,但它显示了如何根据URL 允许特定请求,而不是服务器上的文件位置。