Ayuda construyendo Urls con mod_rewrite

  • Autor Autor Fabián Rodríguez
  • Fecha de inicio Fecha de inicio
Fabián Rodríguez

Fabián Rodríguez

Lambda
Programador
Verificación en dos pasos activada
Hola betas,
Bueno, lo que necesito es lo siguiente y agradezco su ayuda 🙂 resulta que no se como hacer para construir la expresión ya que quiero una url con estas características:

Enlace eliminado

Y tengo esto en mi .htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([A-Za-z0-9-]+)/?$ pelicula.php?id=$1

La cuestión es que no se como construir la url como les he mencionado para luego poder pasar estos dos parámetros a la siguiente página a través de PHP


Ya que me queda bien solo si la hago de esta manera: Enlace eliminado
Ya que si hago la url del tipo: pelicula.php?id=$1&title=$2 me sale error y no puedo continuar ¿Como puedo pasar los dos parámetros? ¿o como es la forma correcta de construir las expresiones en mi .htacces?

Agradezco su ayuda.
Saludo!
 
Los permalinks los hace automágicamente WordPress en el Panel de Control -> Ajustes -> Enlaces Permanentes. Ahí tendrías que poner algo como esto:

Insertar CODE, HTML o PHP:
/%id_post%-%postname%

Si quieres aprender busca en Google: Expresiones Regulares.
 
Se me olvido decir. No estoy trabajando bajo Wordpress, es un script desde cero en PHP
 
Tienes que formar dos grupos, efectivamente colocando cada match entre paréntesis. Asi que la condición que formas:
Insertar CODE, HTML o PHP:
RewriteRule ^([A-Za-z0-9-]+)/?$ pelicula.php?id=$1
solo forma un grupo y dice:
desde el inicio, cualquier combinación de caracteres de la letras y números forman el grupo 1, pero por lo que dices tu condición debe decir:

Primer match: Grupo 1: Cualquier combinación de números
Segundo match: un guión
Tercer match: Grupo 2: cualquier combinación de letras, números y guiones.
 
yo uso este
PHP:
RewriteBase /
RewriteRule ^ak/(.+)/(.+)$ ak.php?v=$1&n=$2

prueba si te sirve cambio donde dice ak por el fichero tuyo y listo D:

se me olvido decir que donde dice v= y n= son los nombres de mis parametros debes indicar el tuyo
 
yo uso este
PHP:
RewriteBase /
RewriteRule ^ak/(.+)/(.+)$ ak.php?v=$1&n=$2
prueba si te sirve cambio donde dice ak por el fichero tuyo y listo D:

se me olvido decir que donde dice v= y n= son los nombres de mis parametros debes indicar el tuyo

Observa este ejemplo:
match 1: cualquier cosa que termine en ak (^ak)
match 2: diagonal (/)
match 3: grupo $1, cualquier cosa hasta que encuentre una
match 4: diagonal (/)
match 5: grupo $2, cualquier cosa hasta el final

Con esas coincidencias,
- toma el grupo $1 y lo pones después de v=
- toma el grupo $2 y lo pones después de n=

Este ejemplo es justo lo que necesitas para que puedas resolver tu problema.
 
Observa este ejemplo:
match 1: cualquier cosa que termine en ak (^ak)
match 2: diagonal (/)
match 3: grupo $1, cualquier cosa hasta que encuentre una
match 4: diagonal (/)
match 5: grupo $2, cualquier cosa hasta el final

Con esas coincidencias,
- toma el grupo $1 y lo pones después de v=
- toma el grupo $2 y lo pones después de n=

Este ejemplo es justo lo que necesitas para que puedas resolver tu problema.

Gracias, lo entiendo 🙂 aunque no se porque al llegar a mi nueva url no se aplican los estilos que he realizado, es decir imágenes, fondos, etc...
¿Hay que poner otro parámetro?

Porque mi url final queda as:í Enlace eliminado
 
Suponque que seguiste el ejemplo al pie de la letra y tu no separas el id con diagonales, sino con guiones.
Segunto, una redireción tal cual afecta a todo lo que haya debajo de ese directorio, asi que cuando llamas a un archivo css, digamos hxxp://localhost/estilos/estilo.css la reescritura lo transforma en hxxp://localhost/index.php?id=estilos (o sea un 404) y te quedas sin hoja de estilo.
 
No, sigo con el mismo problema... no se como agregar el otro grupo y no encuentro información... (tal vez sea porque llevo 5 horas en esto) todo lo que he intentado no funciona :S
 
mmm
que mala suerte.
Insertar CODE, HTML o PHP:
RewriteRule /([0-9]+)\-(.+)$ /pelicula.php?id=$1&title=$2
 

Temas similares

Atrás
Arriba