O problema foi <Directory />
. Depois que eu atualizei para <Directory /www/www.example.com/public_html>
, funcionou muito bem.
Os seguintes redirecionamentos de reescrita redirecionam http://example.com/
para http://example.com/www/www.example.com/public_html
em vez de http://www.example.com/
. /www/www.example.com/public_html
é o DocumentRoot
.
# Rewrite Rules for Example
RewriteEngine On
RewriteBase /
# Redirect from example.com to www.example.com
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Esse redirecionamento está em um <VirtualHost *:80>
com as configurações:
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
Options +FollowSymLinks
DocumentRoot /www/www.example.com/public_html
and the rewrite is inside <Directory />
Alguma idéia de por que isso faria isso? Analisei o manual do Apache e ele diz que usar ${HTTP_HOST}
em seu RewriteCond
adicionará o host ao RewriteRule
em vez de apenas o URL-Path . Bem, esta é uma reescrita muito comum, e eu nunca vi isso acontecer antes.