2014-10-07 80 views
0

我有一個WordPress的網站,我想給某些useragents無限制地訪問我的文件。我已經把一個在的.htaccess我上傳的目錄,用下面的內容做到了這一點:現在.htaccess:結合useragent和登錄的限制

SetEnvIfNoCase User-Agent .*via docs.google.com/viewer.* search_robot 
SetEnvIfNoCase User-Agent .*WordPress.* search_robot 

Order Allow,Deny 
Allow from env=search_robot 
<FilesMatch "\.(jpg|gif|png)$"> 
Order Deny,Allow 
    Allow from all 
</FilesMatch> 
<FilesMatch 「\.(docx|doc|pdf|rtf)$」> 
Order Deny,Allow 
    Allow from env=search_robot 
</FilesMatch> 

,所有其他用戶代理,我想限制訪問登錄的用戶。我知道這種類型的限制,可以使用以下語句:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} ^.*uploads/.* 
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] 
RewriteRule \.(docx|doc|pdf|rtf)$ - [F] 
</IfModule> 

能否請你幫我把二者結合,所以,首先用戶代理進行檢查,兩個用戶代理被允許無限制地訪問,但對於所有其他用戶代理只允許登錄用戶訪問?

回答

0

這是我是如何做的到底:

RewriteEngine on 
RewriteCond %{HTTP_USER_AGENT} !(via\ docs.google.com/viewer|WordPress) [NC] 
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] 
RewriteRule (.*)$ /wp-login.php?redirect_to=/$1 [NC,R,L]