Foros del Web » Administración de Sistemas » Apache »

Duda al crear url's amigables en htaccess

Estas en el tema de Duda al crear url's amigables en htaccess en el foro de Apache en Foros del Web. Buenas, Me estoy peleando con las url amigables y no entiendo que estoy haciendo mal. Lo que me gustaría conseguir es que la siguiente url ...
  #1 (permalink)  
Antiguo 07/07/2013, 06:10
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 11 meses
Puntos: 4
Duda al crear url's amigables en htaccess

Buenas,
Me estoy peleando con las url amigables y no entiendo que estoy haciendo mal.

Lo que me gustaría conseguir es que la siguiente url amigable:
Código HTML:
Ver original
  1. href = "oportunitats"
fuera redireccionada a:
Código HTML:
Ver original
  1. http://localhost/fin/oportunitats/a.php

Tengo la siguiente estructura de directorio:


El fichero htaccess contiene:
Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^oportunitats/$     oportunitats/a.php [L]

Si en el navegador escribo:
localhost/fin/oportunitats redirecciona bien a localhost/fin/oportunitats/a.php

Pero si escribo href="oportunitats" en una página php que tengo en la carpeta ca, en el navegador aparece la siguiente url http://localhost/fin/ca/oportunitats con el correspondiente error 404 de página no encontrada, ya que debería retroceder una carpeta.

He intentado poner ../, / en la url de destino pero no lo consigo

Alguien podría darme una pista? Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 07/07/2013, 13:48
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 11 meses
Puntos: 4
Respuesta: Duda al crear url's amigables en htaccess

Buenas,
Voy a contestarme yo misma, la solución es fácil pero he tardado un buen rato en encontrarla.
Sencillamente he cambiado el enlace, en vez de:
Código HTML:
Ver original
  1. <a href=oportunitats>Ver más</a>
he escrito:
Código HTML:
Ver original
  1. <a hef=../oportunitats>Ver más</a>
Y funciona, redirecciona justo donde yo quería.

Pero ahora me encuentro con lo siguiente. En el fichero htaccess si solo pongo esta instrucción funciona perfectamente:
Código Apache:
Ver original
  1. RewriteRule ^oportunitats/$     oportunitats/index.php [L]

Pero cuando añado las siguientes, para poder eliminar las extensiones del resto de páginas, luego no me va bien la instrucción anterior. Podría decirme alguien por qué?

Código Apache:
Ver original
  1. RewriteCond %{REQUEST_FILENAME} !-f
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. RewriteRule ^(.*)$ $1.php [L,QSA]

Muchas gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Etiquetas: amigables, htaccess, php, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:45.