
En mi httpd.conf
tengo:
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>
Y en mi .htaccess
archivo tengo:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Cuando hago HTTP, example.com/.ht
espero ser redirigido a www.example.com/.ht
, pero en cambio, RewriteRule nunca sucede. El cliente nunca es redirigido a www. En todos los demás casos, el cliente es redirigido correctamente.
No tengo ninguna directiva ErrorDocument.
Me pregunto por qué sucede esto y cómo corregir este comportamiento en los 403.
Respuesta1
Dado que tiene acceso a httpd.conf, no hay motivo para utilizar .htaccess.
¿En qué contexto está FilesMatch? ¿Está dentro de un vhost?
Lo siguiente logra el mismo resultado, pero mejor:
<VirtualHost *:80>
ServerName example.com
Redirect / http://www.example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/something
</VirtualHost>
Tampoco hay efectos secundarios extraños.