mod_rewrite adicionando documentroot ao url

3

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.

    
por William 10.12.2009 / 23:13

1 resposta

2

O problema foi <Directory /> . Depois que eu atualizei para <Directory /www/www.example.com/public_html> , funcionou muito bem.

    
por 11.12.2009 / 00:45