reescribe un nombre de carpeta usando .htaccess

Me pregunto si es posible utilizar .htaccess para volver a escribir el nombre de una carpeta. Lo que quiero decir es esto.

Digamos que tengo una url como:

 www.site.com/folder1/page.php 

Ahora quiero reescribir la URL a (por ejemplo)

 www.site.com/apple/page.php 

La carpeta1 es una carpeta existente en mi espacio web.

importante: ¡la “manzana” no es una carpeta sino un nombre!

Ok aquí hay un plan paso a paso:

  1. Tipos de usuario www.site.com/folder1/login.php
  2. La URL debe reescribir y no redirigir la url a www.site.com/apple/login.php

Esto significa que apple es solo un nombre y no un directorio. Todo el código debería provenir de la carpeta1. Acutally apple debería ser solo un alias para folder1 . No puedo cambiar el nombre de la folder1 a Apple . Por lo tanto, simplemente volvería a escribir la folder1 en apple .

mod_rewrite solo puede reescribir / redirigir los URI solicitados. Por lo tanto, necesitaría solicitar /apple/… para que se reescriba en una /folder1/… .

Prueba esto:

 RewriteEngine on RewriteRule ^apple/(.*) folder1/$1 

Esta regla reescribirá cada solicitud que comienza con la ruta URI /apple/… internamente a /folder1/…


Editar Como en realidad estás buscando al revés:

 RewriteCond %{THE_REQUEST} ^GET\ /folder1/ RewriteRule ^folder1/(.*) /apple/$1 [L,R=301] 

Esta regla está diseñada para funcionar junto con la otra regla anterior. Las solicitudes de /folder1/… se redirigirán externamente a /apple/… y las solicitudes de /apple/… se reescribirán internamente en /folder1/…

tratar:

 RewriteRule ^/apple(.*)?$ /folder1$1 [NC] 

Donde la carpeta que desea que aparezca en la url se encuentre en la primera parte de la statement, esto es con lo que coincidirá y la segunda parte ‘la reescribirá’ en su carpeta existente. la bandera [NC] significa que ignorará las diferencias entre mayúsculas y minúsculas, por ejemplo, Apple / se reenviará.

Vea aquí un tutorial: http://www.sitepoint.com/article/guide-url-rewriting/

También hay una buena utilidad de prueba para Windows que puede descargar desde aquí: http://www.helicontech.com/download/rxtest.zip Solo para tener en cuenta que el probador debe omitir el nombre de dominio, por lo que la prueba sería contra /folder1/login.php

para redirigir desde / folder1 a / apple prueba esto:

 RewriteRule ^/folder1(.*)?$ /apple$1 [R] 

para redirigir y luego reescribir simplemente combine lo anterior en el archivo htaccess:

 RewriteRule ^/folder1(.*)?$ /apple$1 [R] RewriteRule ^/apple(.*)?$ /folder1$1 [NC]