如何拒绝通过域名访问主机?

时间:2014-08-29 10:30:38

标签: apache .htaccess virtualhost

如何在virtualhost配置中实现下一个逻辑:

<VirtualHost *:80>

    ServerName domain.com
    ServerAlias admin.domain.com

    DocumentRoot /usr/.../www

    <Directory /usr/.../www>

        AllowOverride all

        if (%{HTTP_HOST} == 'admin.domain.com') {
            deny from {some ip}
        }

    </Directory>

</VirtualHost>

我需要使admin.explample.com仅从特定的IP

加入

1 个答案:

答案 0 :(得分:1)

替换:

    if (%{HTTP_HOST} == 'admin.domain.com') {
        deny from {some ip}
    }

RewriteEngine On
RewriteCond %{HTTP_HOST} ^admin\.domain\.com$ [NC]
RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$
RewriteRule ^ - [L,F]

其中12.34.56.78是您希望能够访问主机的IP 。所有其他IP都将导致403 Forbidden结果。