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>
答案 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使用正则表达式,因此可能需要以这种方式声明。