2011-12-23 21 views
6

Tengo algunas dificultades con las reglas de mod_rewrite. quiero volver a escribir cualquier solicitud en.htaccess reescribir del subdirectorio a la raíz

www.example.com/dev/* 

a

www.example.com/* 

Por ejemplo, cuando la solicitud de URL es www.example.com/dev/index.php, la respuesta debería ser www.example.com/dev/index.php, y no sólo que la url parece que es de la raíz directorio, pero en realidad está usando el index.php del directorio raíz.

me han tratado los mod_alias que funciona

RedirectMatch (^/dev/)(.*) http://www.example.com/$2 

Pero no es posible aplicar condiciones de direcciones IP con mod_alias, por lo que todavía necesitan una solución con mod_rewrite.

¿Alguien podría compartir algo de conocimiento, por favor? Gracias.

Respuesta

8

¿Qué tal algo así?

RewriteRule ^dev/(.*)$ $1 

Esto tendría que estar en la carpeta raíz, o se aplica a la configuración principal de Apache (no en .htaccess).

Se aplican las reglas habituales sobre los redireccionamientos .htaccess, incluidas las RewriteEngine on, Options FollowSymLinks y AllowOverride FileInfo incluidas en algún lugar. Todos los detalles en http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule.

+0

No, no tuve suerte. Me pregunto si tiene algo que ver con las otras reglas que se usan para evitar el acceso a ciertos tipos de archivos. Así que puse esta nueva regla en la primera línea justo debajo de 'RewriteBase /', pero aún no funcionaba. – vicch

+0

@vicch Pruebe agregar un indicador '[L]', es decir, cambie la regla a 'RewriteRule^dev /(.*)$ $ 1 [L]' para que no procese otras reglas –

+0

Lamentablemente, tampoco funciona. – vicch

Cuestiones relacionadas