.htaccess RewriteRule para obtener enlaces bonitos

Tengo URL como:

1) http://www.example.com/?page=2
2) http://www.example.com/my-photos-folder?page=3

Aquí el número de página aumentará secuencialmente (página=1, página=2, página=3 .....).

"mi-carpeta-de-fotos" Puede ser cualquier cosa como "mi-carpeta-de-imágenes" o "Bonitas-fotos", etc.

Lo que me gustaría conseguir:

1) http://www.example.com/page/2
2) http://www.example.com/my-photos-folder/page/3 

Mi .htaccess tiene las siguientes reglas:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^page\/(.*)$ index.php?page=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?kohana_uri=$1 [QSA,PT,L]
RewriteRule ^$ index.php?kohana_uri=$1 [QSA,PT,L]
RewriteRule ^index.php/(.*) $1 [QSA,R,L]
</IfModule>

¿Puede algún experto sugerirme qué reglas debo agregar para lograr el resultado deseado? Gracias de antemano.

preguntado el 03 de mayo de 12 a las 18:05

2 Respuestas

Agregue estas líneas después de la RewriteEngine On línea:

RewriteRule ^page\/(.*)$ index.php?page=$1 [L]
RewriteRule ^(.*)\/page\/(.*)$ $1?page=$2 [L]

contestado el 03 de mayo de 12 a las 19:05

Hola, Develroot, gracias por la sugerencia, pero... "kim-sharma-hot-photos" puede ser algo como "Nargis-Fakhri-Wallpepers" o "Poonam-Pandey-Hot-Photos" cómo resolver esto... Gracias de antemano . - SmartDev

La segunda regla aún no funciona, es posible que se deba agregar algo. Gracias por su ayuda, la primera regla funciona perfectamente bien. - SmartDev

@develroot

RewriteRule ^page\/(.*)$ index.php?page=$1 [L]  //This is working fine for homepage
RewriteRule ^(.*)\/page\/(.*)$ $1?page=$2 [L]   //this rule still not working on directory level.

El segundo todavía tiene problemas. Considere las reglas que ya existen. [He actualizado la pregunta; agregué su primera regla que funciona bien].

contestado el 04 de mayo de 12 a las 05:05

que quieres decir con directory level. hay una carpeta llamada my-photos-folder? - dan.dev.01

@Develroot my-photos-folder, my-images-folder y "Nice-photos" son carpetas que tienen fotos. - SmartDev

¿Y qué es exactamente lo que estás tratando de lograr? ¿Hay un index.php en cada una de esas carpetas? - dan.dev.01

1) esta es la URL - hotcineactress.com/Sonakshi-Sinha-Hot-Wallpapers?page=2 lo que quiero es en esta forma - hotcineactress.com/Sonakshi-Sinha-Hot-Wallpapers/page/2 2) no index.php no está en esas carpetas. antes de reescribir todo lo anterior, se mostrará algo como esto. -- hotcineactress.com/index.php/… - SmartDev

si acierto algo como esto... RewriteRule ^(.*)\/page\/(.*)$ index.php/$1?page=$2 [NC,L] funcionará pero esto está redirigiendo a la URL anterior .. p.ej 127.0.0.1/ileana/pagina/3 mostrará las fotos... pero en la barra de direcciones volverá a 127.0.0.1/ileana?página=3 - SmartDev

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.