2016-03-02 37 views
1

对特定控制器进行身份验证我为我的网站添加了.htaccess身份验证,并且它在浏览器上正常工作。但我的应用程序使用同一网站的API控制器。所以我想排除2控制器的身份验证。我尝试了很多代码,但没有奏效。要么它认证网站以及应用程序控制器,要么两者都没有。允许在codeigniter中使用.htaccess

这是我在.htaccess代码 -

SetEnvIfNoCase Request_URI "/mycustomer/.*" app_customer_uri 
SetEnvIfNoCase Request_URI "/myvendor/.*" app_vendor_uri 
Order Deny,Allow 

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /var/www/new_html/.htpasswd 
Require valid-user 

Deny from all 
Allow from env=app_customer_uri 
Allow from env=app_vendor_uri 
Satisfy any 

请帮助理清我的问题。

顺便说一句,我有其他代码太相同的.htaccess -

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

Redirect 301 /Mag/ http://myvender.com/mag/ 
Redirect 301 http://myvender.com/services/search/cleaning-service http://myvender.com/en/services/search/cleaning-service 


# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 


## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
    ExpiresActive on 
    ExpiresByType images/jpg "access plus 6 month" 
    ExpiresByType images/jpeg "access plus 6 month" 
    ExpiresByType images/gif "access plus 6 month" 
    ExpiresByType images/png "access plus 6 month" 
</IfModule> 
## EXPIRES CACHING ## 

Options -Indexes 

回答

1

您可以使用下面的代码删除两个URI的密码保护:

SetEnvIfNoCase Request_URI /(mycustomer|myvender)/.*$ allowed_uris=1 

#Auth  
AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /var/www/new_html/.htpasswd 
Require valid-user 
#Here is where we allow/deny 
Order Deny,Allow 
Satisfy any 
Deny from all 
Require user AuthorizedUser 
Allow from env=allowed_uris 
+0

它仍然要求一个这些控制器的密码:( –

+0

还有1件事情,如果控制器名称和站点名称都是一样的?像我的域名是http://www.myvender.com,我的控制器是'myvender'。这会造成问题吗? –

+0

否,那会造成问题,无论如何,这个代码正在我的工作rver。 – starkeen