WordPress MultiSite - 阻止访问服务器上的子文件夹,但只能访问一个站点

时间:2011-06-24 19:17:30

标签: wordpress apache .htaccess

WordPress安装有几个站点/域。与WordPress安装分开的是服务器上子文件夹中的HTML站点。我只希望其中一个域能够访问此文件夹,其他域应该无法看到该文件夹​​。我还需要阻止特定文件,不是在同一个文件夹中,而是在它旁边(全部在public_html中)。

我环顾四周并尝试了一些事情,这是我目前所拥有的,但它不起作用,当我使用它时出现内部服务器错误:

SetEnvIf Referer mydomain\.com localreferer
<Location /myfolder>
    Order deny,allow
    Deny from all
    Allow from env=localreferer
</Location> 
<FilesMatch myfile.php>
    Order deny,allow
    Deny from all
    Allow from env=localreferer
</FilesMatch>

1 个答案:

答案 0 :(得分:0)

这是一个涉及mod_rewrite的解决方案(将其放入.htaccess文件到根文件夹中)。除非通过myfolder(例如mydomain.com)请求,否则它将禁止(403代码)访问位于http://mydomain.com/myfolder的任何资源。

RewriteCond %{HTTP_HOST} !=mydomain.com
RewriteRule ^myfolder(/|/.*)?$ - [NC,F]

以下规则将对/myfile.php文件执行相同的操作。

RewriteCond %{HTTP_HOST} !=mydomain.com
RewriteRule ^myfile\.php$ - [NC,F]

关于您原来的方法 - 试试这个:<FilesMatch "myfile\.php">FilesMatch使用正则表达式,因此可能需要以这种方式声明。