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:

  1. Los tipos de usuario www.site.com/folder1/login.php
  2. 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.

¿Fue útil?

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]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top