限制对Web目录的访问,但允许子域

nix*_*get 4 php apache .htaccess

我试图拒绝直接访问的人访问子域目录,而不是让他们直接浏览到子域.例如,我希望人们能够访问http://test.example.com而不是http://example.com/test.如果他们确实显示403 Forbidden错误.这可能通过htaccess吗?谷歌搜索它,但看不到任何人这样做.主要目的是禁止他们直接访问内容.试过以下没有成功.

<Directory /test>
  Order Deny,Allow
  Deny from all
  Allow from .example.com
</Directory>
Run Code Online (Sandbox Code Playgroud)

HoL*_*ieR 5

您可以从做您永久重定向example.com/test/test.example.com.这将确保每个人都访问您的网站test.example.com.这对您的用户更合适.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example.com [nc]
RewriteRule ^test/(.*)$ http://test.example.com/$1 [r=301,nc] 
Run Code Online (Sandbox Code Playgroud)

如果你真的想要展示403 Forbidden,你可以这样做

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example.com [nc]
RewriteRule ^test/(.*)$ / [r=403,nc] 
Run Code Online (Sandbox Code Playgroud)