2011-05-19 12 views
0

我研究了这一点,不幸的是我能找到的一切建议是关于htacesss,并通过措辞或一般htaccess重定向等,没有一个是我之后这里。总结一下,我们运行一组博客,所有这些博客都使用WordPress多站点功能。如何使用htaccess来限制一个WordPress站点,但不是所有在多站点

所有这些文件等等和数据库中的信息都由一个ID引用,因此该网站不在文件夹中。

我想用我们公司用来允许访问其用户的htaccess限制一个文件夹。

通常情况下,我会将该文件放入文件夹并完成任务。

但是,如前所述,没有物理文件夹,所以我需要以某种方式将此添加到WordPress用来处理所有内容的现有htaccess文件。

这里是htaccess文件作为标准:

RewriteEngine On 
RewriteBase/

#uploaded files 
RewriteRule ^(.*/)?files/$ index.php [L] 
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.* 
# deperectaed after upgrade to v. 3.0 RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L] 
RewriteRule ^(.*/)?files/(.*) wp-includes/ms-files.php?file=$2 [L] 

# add a trailing slash to /wp-admin 
RewriteCond %{REQUEST_URI} ^.*/wp-admin$ 
RewriteRule ^(.+)$ $1/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule . - [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] 
RewriteRule . index.php [L] 

<IfModule mod_security.c> 
<Files async-upload.php> 
SecFilterEngine Off 
SecFilterScanPOST Off 
</Files> 
</IfModule> 

我需要补充的是以下内容:

AuthName "You must be a valid user" 
AuthType Basic 
require valid-user 

但我只需要它在一个网站上的工作,说网站ID = 2现在。我可能想在稍后添加网站。

任何帮助将不胜感激。

干杯

回答

0

您可以使用filesMatch指令来保护目录。对于在/ foo的路径的网站/下面应该工作:

<filesMatch "^foo.*"> 
    AuthName "You must be a valid user" 
    AuthType Basic 
    require valid-user 
</filesMatch> 

,确保filesMatch指令工作,尝试:

<filesMatch "^foo.*"> 
    order allow,deny 
    deny from all 
</filesMatch> 
+0

您好,我想这上面,只需将它添加到结束htaccess文件,并用“^ our-team。*”替换为“^ foo。*”,并给出了内部500错误?连字符是否有冲突? – 2011-05-24 10:35:04

+0

你有权访问error_log吗?如果是这样,错误是什么?您也可以尝试拒绝访问,以确保filesMatch指令正常工作。 – gcorne 2011-05-24 14:32:25

+0

嗨,我似乎没有实际访问该文件。在上面的示例中,您将基于现有的物理文件foo或该博客的文件以blogs.dir/xx等形式存在,因为Multisite使用 – 2011-06-01 15:18:10