2016-03-02 106 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