Use Order
, Deny
e allow
para especificar quem tem acesso ao seu vhost ou local.
<VirtualHost *:80>
ServerName example.net
DocumentRoot /docroot
<Directory "/docroot">
Order Deny,Allow
Deny from all
Allow from 10.10.10.10
Allow from 10.10.11.0/24
</Directory>
</VirtualHost>
Quando se trata de redirecionamento, pense em uma página de erro personalizada . Isso é muito mais geral, porque todo acesso não autorizado deve provocar um erro 403 e, portanto, pode ser avaliado facilmente.
Eu nunca fiz isso com o apache, mas use essa estratégia com o nginx. Para o apache, algo assim deveria ser feito:
ErrorDocument 403 http://homepage.example.com
Custom error documents are configured using the ErrorDocument directive, which may be used in global, virtualhost, or directory context. It may be used in .htaccess files if AllowOverride is set to FileInfo. (from the apache docs)