如何阻止用户查看位于主域文件夹中的网站?例如:主域名是www.maindomain.com。当我在cPanel中为另一个帐户创建子域时,如果有人输入例如www.maindomain.com/subdomain,则会创建可访问的文件夹。我想阻止某些文件夹,但留下其他文件夹,因为我在文件夹中有页面:wwwmaindomain / contact-us。我怎样才能做到这一点?希望它足够清楚:))
答案 0 :(得分:3)
在.htaccess中尝试关注RewriteRule
RewriteEngine On
RewriteRule ^subdomain/(.*) /index.php [R=403,NC,L]
这会将任何/子域请求重定向到带有禁止响应代码的index.php
答案 1 :(得分:1)
在文档根目录中的htaccess文件中添加这些规则(对于 maindomain.com ):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?maindomain.com$ [NC]
RewriteRule ^(subdomain1|subdomain2|subdomain3) - [L,F]
如果您尝试从maindomain.com主机访问/subdomain1
,/subdomain2
或/subdomain3
,则会返回“403 Forbidden”。如果您不想返回403,还可以重定向:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?maindomain.com$ [NC]
RewriteRule ^(subdomain1|subdomain2|subdomain3) / [L,R=301]
这会将对子域的任何访问权限从maindomain.com主机重定向到文档根目录。
编辑:
添加到子域文件夹中找到的htaccess文件顶部的规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?maindomain.com$ [NC]
RewriteRule ^ - [L,F]
或
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?maindomain.com$ [NC]
RewriteRule ^ / [L,R=301]
答案 2 :(得分:0)
非常有效的方法是将一个空白的index.php文件放在你不想显示的文件夹中,这样就不需要乱用htaccess了,或者你可以用这段代码创建一个新的.htaccess
deny from all
将此保存为您不想向pubblic显示的那个特定文件夹的.htaccess,但是我更喜欢第一个选项。