.htaccess.拒绝根,允许特定的子文件夹。可能?

2022-08-30 19:41:39

如何拒绝访问 http://sub.mydomain.com/,但允许(完全)http://sub.mydomain.com/test(或 http://sub.mydomain.com/test/)

http://sub.mydomain.com/test/ 后面有一个洋红色后端


答案 1

.htaccess 指令适用于该目录及其所有子目录,因此您应该禁止在 DocumentRoot 中进行访问,

http://sub.mydomain.com/.htaccess

Order deny,allow
Deny from all

并在您希望允许访问的任何特定子目录中覆盖它,

http://sub.mydomain.com/test/.htaccess

Order allow,deny
Allow from all

答案 2

在根目录下使用以下命令的 .htaccess 怎么样?

RewriteEngine On
# check if request is for subdomain
RewriteCond %{HTTP_HOST} ^sub.mydomain.com$ [NC]
# check if  'test' isnt part of request
RewriteCond %{REQUEST_URI} !^/test/?(.*)$ [NC]
# if subdomain and no 'test' part, redirect to main domain...
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R,L]

因此,如果存在“/test/”部分,则不会发生重定向...


推荐