3

如何阻止用户查看位于主域文件夹中的站点?例如:主域是 www.maindomain.com。当我在 cPanel 中为另一个帐户创建子域时,它会创建文件夹,如果有人键入例如 www.maindomain.com/subdomain,它就可以访问。我想阻止某些文件夹,但保留其他文件夹,因为我在文件夹中有页面:wwwmaindomain/contact-us。我怎样才能做到这一点?希望它足够清楚:)

4

3 回答 3

3

尝试在您的 .htaccess 中遵循 RewriteRule

RewriteEngine On
RewriteRule ^subdomain/(.*) /index.php [R=403,NC,L]

这将使用禁止的响应代码将任何 /subdomain 请求重定向到您的 index.php

于 2013-04-08T11:11:16.580 回答
2

在文档根目录的 htaccess 文件中添加这些规则(对于maindomain.com):

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?maindomain.com$ [NC]
RewriteRule ^(subdomain1|subdomain2|subdomain3) - [L,F]

如果您尝试从 maindomain.com 主机访问/subdomain1/subdomain2或,这将返回“403 Forbidden”。/subdomain3如果不想返回 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]
于 2013-04-08T11:09:30.767 回答
0

非常有效的方法是在您不想显示的文件夹中放置一个空白 index.php 文件,这样就不需要弄乱 htaccess,或者您可以使用此代码创建一个新的 .htaccess

deny from all

将此保存为您不想显示给公共的特定文件夹的 .htaccess,但是我更喜欢第一个选项。

于 2013-04-08T11:19:44.990 回答