2010-05-28 12 views
7

Necesito apuntar el dominio raíz de mi cuenta de alojamiento a un subdirectorio (joomla). Quiero que esto sea invisible (es decir, la barra de dirección del navegador no cambia). Además, necesito que esto funcione cuando un usuario toca la raíz o un subarchivo/subcarpeta.Invisible .htaccess Redirigir desde/public_html/to/public_html/folder

He intentado las siguientes reglas, que funcionan individualmente, pero no puedo hacer que funcionen juntas.

Ésta funciona cuando no se especifica ningún subarchivo/subcarpeta:

RewriteEngine On 
RewriteRule ^$ /joomla/ [L] 

Y éste funciona cuando un subarchivo/subcarpeta se especifica:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.+)$ /joomla/$1 [L] 

simplemente no puedo encontrar la manera de combinarlos.

Respuesta

3
RewriteEngine On 

RewriteRule ^(.*)$ /joomla/$1 [L] 

Debería funcionar (no probado). La diferencia clave entre este y su segundo intento es el + vs *. El + coincidirá con uno o más, mientras que * coincidirá con 0 o más, por lo que esto debería funcionar también cuando no se especifique ningún archivo/subdirectorio.

+0

Ese arroja un error de 500 servidores con o sin archivo/carpeta. Cuando agrego "RewriteCond% {REQUEST_FILENAME}! -f" funciona con el archivo/carpeta especificada, pero arroja un error de 500 sin. – ggutenberg

2

Esto debe hacer el truco:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /joomla/$1 [L] 

.* también coincidirá con una cadena vacía. También es más que probable que desee hacer la verificación -d para asegurarse de que no están accediendo a un directorio que existe (aunque, pensando en ello, esto podría meterse con la coincidencia /, no lo sé).

+0

Funciona para el archivo/carpeta, pero la raíz nunca redirige. Solo me da una lista de directorios. Sin la línea -d arroja un error de 500 al llegar a la raíz. – ggutenberg

Cuestiones relacionadas