2011-03-15 9 views
7

Tengo un sitio que ya no se necesita en vivo y tiene una configuración de página de espera para indicar que ya no está disponible. Todas las solicitudes a las páginas del sitio (marcadas o no) deben enviarse a esta página, que es la raíz de la página index.php, por lo que estoy usando algunos htaccess para redirigirlos en consecuencia.htaccess - redirigiendo todas las solicitudes al dominio root

Actualmente estoy usando esto:

RewriteCond %{REQUEST_URI} !^/index.php$ 
RewriteRule ^(.*)$ /index.php [R=302,NC,L] 

el que hace el trabajo, pero añade index.php a la url - es decir. www.domain.com va a www.domain.com/index.php

que sería mucho más agradable tener sólo www.domain.com, pero al parecer no puedo hacer eso usando:

RewriteCond %{REQUEST_URI} !^/$ 
RewriteRule ^(.*)$/[R=302,NC,L] 

Da una página que no redirige correctamente el error en firefox.

Hubiera esperado que lo anterior verificara si el REQUEST_URL no es/- ie. www.domain.com y luego redirigirlo a/eg. www.domain.com/dave.php -> www.domain.com - por lo tanto, www.domain.com pasa, pero todo lo demás se redirecciona ... ¿Qué es lo que realmente está haciendo y cómo lograr que haga lo que yo quiero? ?

Respuesta

13

sólo lo utilizan como esto:

RewriteRule ^.+$/[R=302,NC,L] 

Será redirigir todo el que no coinciden con / sólo para /.

+1

Pero eso también impide que se carguen todas las imágenes y otros recursos relativos. – Ninj

+0

@Ninj en este caso; necesitarás excluir los recursos usando una regla 'RewriteCond'. –

0

¿Ha resuelto su problema? De lo contrario, ha intentado:

RewriteCond %{REQUEST_FILENAME} -f 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule . /index.php [L] 
Cuestiones relacionadas