所以基本上我有以下的public_html结构:
/main
/subdomains
到目前为止,我已设法使其无法通过设置直接访问/子域名:
www.site.com/subdomains
但是,假设我有一个名为projects的子域名:
projects.site.com
在文件夹中:
/子域/项目/
现在,如果知道了url,可以通过以下方式访问projects文件夹:
site.com/subdomains/projects。
我想要做的是阻止此行为,因此访问子域的唯一方法是通过正确的子域网址: projects.site.com。
如果可以通过 Cpanel 完成,那么很棒,但我并不羞于使用 .htaccess 来完成它。在写下你的答案时请记住,我并不是非常流利,但请详细解答。
答案 0 :(得分:1)
将此规则放在DocumentRoot/.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^([^.]+)\.[^:]+:/subdomains/\1/
RewriteRule ^ - [F]
RewriteCond
此处是对2个变量%{HTTP_HOST}
和%{REQUEST_URI}
的组合。 :
用作2个变量之间的分隔符。 ([^.]+)
正在捕获组#1中的子域名(例如项目)/subdomains/\1/
将REQUEST_URI与后引用#1 答案 1 :(得分:0)
作为快速回答,您可以重命名存储网页文件的文件夹。你的例子是项目:
让我们假设您的文件存储在/var/www/projects.files
中只需使用servername projects.yourdomain.com
创建VHost反过来,无法使用yourdomain.com/projects
来呼叫网站