Acabei de descobrir que a falha era o cache do meu navegador local, que salvou o redirecionamento para o lolhens.org. A segunda configuração agora funciona.
Eu configurei meu apache assim:
<VirtualHost *:80>
ServerName www.th3falc0n.de
ServerAlias th3falc0n.de *.th3falc0n.de
DocumentRoot /var/www/html/th3falc0n
<Directory /var/www/html/th3falc0n>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.lolhens.org
ServerAlias lolhens.org *.lolhens.org
DocumentRoot /var/www/html/lolhens
<Directory /var/www/html/lolhens>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Eu tenho um .htaccess em / var / www / html / th3falc0n que redireciona th3falc0n.de para th3falc0n.de/p/home e algumas outras coisas. No entanto, essas regras também são aplicadas ao lolhens.org, que não é o comportamento esperado. O que é minha culpa? Como posso conseguir que o .htaccess só se aplique a th3falc0n.de?
Saída do apache2ctl -S
root@v36448:~# apache2ctl -S
VirtualHost configuration:
*:80 is a NameVirtualHost
default server www.th3falc0n.de (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost www.th3falc0n.de (/etc/apache2/sites-enabled/000-default.conf:1)
alias th3falc0n.de
wild alias *.th3falc0n.de
port 80 namevhost www.lolhens.org (/etc/apache2/sites-enabled/000-default.conf:15)
alias lolhens.org
wild alias *.lolhens.org
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
Como recebi várias sugestões para mover o conteúdo do .htaccess para a configuração do site: Esta não é uma opção, pois o usuário que gerencia o lolhens.org não deve ter acesso à configuração do servidor, mas pode usar o .htaccess e eu quero para manter isso consistente em todos os possíveis usuários.
EDITAR:
Depois de descobrir, o link não tem o problema com .htaccess, mas isso ocorrerá em link Eu tentei outra configuração assim:
<VirtualHost *:80>
ServerName th3falc0n.de
ServerAlias *.th3falc0n.de
DocumentRoot /var/www/html/th3falc0n
<Directory /var/www/html/th3falc0n>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName lolhens.org
ServerAlias *.lolhens.org
DocumentRoot /var/www/html/lolhens
<Directory /var/www/html/lolhens>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Isso, no entanto, ainda tem o mesmo resultado. www.lolhens.org funciona como esperado, lolhens.org não.
Se qualquer conteúdo do www.lolhens.org for exibido em / var / www / html / th3falc0n, o arquivo .htaccess será honrado, mesmo que o usuário tenha solicitado um domínio diferente.
Iain está certo: como aparentemente você tem acesso aos arquivos de configuração, a solução mais simples é remover o arquivo .htaccess, mover suas diretivas para o VirtualHost para www.th3falc0n.de e desativar o .htaccess definindo AllowOverride none
. Veja o tutorial sobre o arquivo Apache htaccess .
Tags virtualhost apache-2.2