Como você está parando o RewriteRule
, se houver um /users/
como o caminho principal, o username.domain.com/users/username/sub1/sub2/
também os levará até lá - provavelmente não como pretendido.
Considere alterar sua configuração existente para subdomínios por usuário para um VirtualDocumentRoot
em um vhost com curinga em vez do que está lá, para reduzir a complexidade e reduzir o número de avaliações de regex necessárias por solicitação.
<VirtualHost *:80>
ServerName usernames.domain.com
ServerAlias *.domain.com
VirtualDocumentRoot /dir/to/users/%1
</VirtualHost>
Em seguida, para impedir o acesso à estrutura de diretório /users/
por meio do nome do host normal, aplique-o apenas à configuração do site principal:
RewriteRule ^/users/.*$ - [F]
Se você pretende manter seu tratamento atual dos subdomínios com o mod_rewrite, será necessário expandi-lo para filtrar o nome do host:
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] # I'm assuming?
RewriteRule ^/users/.*$ - [F]