reescribir un nombre de carpeta con .htaccess
Pregunta
Me pregunto carnero que es posible utilizar .htaccess
volver a escribir un nombre de carpeta.
Lo que quiero decir es esto.
Digamos que tengo una URL como:
www.site.com/folder1/page.php
Ahora quiero volver a escribir la url para (por ejemplo)
www.site.com/apple/page.php
El carpeta1 es una carpeta existente en mi espacio web.
importante: la "manzana" no es una carpeta y no sólo un nombre
!La autorización aquí es un plan paso a paso:
- Los tipos de usuario
www.site.com/folder1/login.php
- La url debe reescribir y no redirigir la url para
www.site.com/apple/login.php
Esto significa que apple
es sólo un nombre y no un directorio. Todo el código sólo debe provenir de carpeta1. Acutally manzana debe ser sólo un alias para folder1
. No puedo cambiar el nombre de folder1
a Apple
. Para ello me acaba de escribir folder1
a apple
.
Solución
mod_rewrite sólo puede reescribir / redireccionamiento solicitado URI. Por lo que se necesita para solicitar /apple/…
de lograr que se reescribe a un /folder1/…
correspondiente.
Prueba esto:
RewriteEngine on
RewriteRule ^apple/(.*) folder1/$1
Esta regla se volverá a escribir cada petición que se inicia con la /apple/…
ruta URI internamente para /folder1/…
.
Editar Lo que en realidad se está buscando al revés:
RewriteCond %{THE_REQUEST} ^GET\ /folder1/
RewriteRule ^folder1/(.*) /apple/$1 [L,R=301]
Esta regla está diseñada para trabajar en conjunto con la otra regla anterior. Las solicitudes de /folder1/…
serán redirigidos externamente para /apple/…
y solicitudes de /apple/…
a continuación, se vuelven a escribir de nuevo a nivel interno /folder1/…
.
Otros consejos
intento:
RewriteRule ^/apple(.*)?$ /folder1$1 [NC]
Cuando la carpeta que desea que aparezca en la url está en la primera parte de la declaración - esto es lo que va a coincidir en contra y la segunda parte 'reescribe' a la carpeta existente. la [NC] bandera significa que va a ignorar las diferencias de caso por ejemplo de Apple / todavía hacia adelante.
Vea aquí para un tutorial: http://www.sitepoint.com/ Artículo / guía-url-reescritura /
También hay una utilidad de prueba agradable para ventanas que se pueden descargar desde aquí: http://www.helicontech.com/download/rxtest.zip Sólo tener en cuenta para el probador que necesita para dejar de lado el nombre de dominio - por lo que la prueba sería contra /folder1/login.php
para redirigir desde / a carpeta1 / manzana intente lo siguiente:
RewriteRule ^/folder1(.*)?$ /apple$1 [R]
para redirigir y vuelva a grabar simplemente combinar lo anterior en el archivo .htaccess:
RewriteRule ^/folder1(.*)?$ /apple$1 [R]
RewriteRule ^/apple(.*)?$ /folder1$1 [NC]