Php htaccess限制对子域的url访问
所以基本上我有以下的公共html结构:Php htaccess限制对子域的url访问,php,apache,.htaccess,mod-rewrite,cpanel,Php,Apache,.htaccess,Mod Rewrite,Cpanel,所以基本上我有以下的公共html结构: /main /subdomains 到目前为止,我已设法通过设置以下内容使其无法直接访问/子域: www.site.com/subdomains 但是,假设我有一个子域,名为projects: projects.site.com 在文件夹中: /子域/项目/ 现在,如果知道url,可以通过以下方式访问项目文件夹: site.com/subdomains/projects. 我想做的是防止这种行为,因此访问子域的唯一方法是通过正确的子域url:projec
/main
/subdomains
到目前为止,我已设法通过设置以下内容使其无法直接访问/子域:
www.site.com/subdomains
但是,假设我有一个子域,名为projects:
projects.site.com
在文件夹中:
/子域/项目/
现在,如果知道url,可以通过以下方式访问项目文件夹:
site.com/subdomains/projects.
我想做的是防止这种行为,因此访问子域的唯一方法是通过正确的子域url:projects.site.com.
如果这可以通过Cpanel完成,那就太好了,但我并不羞于使用.htaccess来完成。请记住,在写你的答案时,我还不是非常流利,但请记住我的答案非常详细。请将此规则放在你的
文档root/.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^([^.]+)\.[^:]+:/subdomains/\1/
RewriteRule ^ - [F]
这里是两个变量组合的动作RewriteCond
和%{HTTP\u HOST}
李>%{REQUEST\u URI}
用作两个变量之间的分隔符李>:
正在组1中捕获子域名(例如项目)([^.]+)
将请求URI与反向引用1匹配/subdomains/\1/
- 如果条件为true,则返回禁止的错误