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

Redireccion .htaccess

Estas en el tema de Redireccion .htaccess en el foro de Apache en Foros del Web. Hola amigos, Vereis tengo unas url amigables y en el archivo .htaccess el siguiente codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original RewriteRule ^ ( [ ...
  #1 (permalink)  
Antiguo 11/11/2013, 02:29
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 11 años, 1 mes
Puntos: 0
Redireccion .htaccess

Hola amigos,

Vereis tengo unas url amigables y en el archivo .htaccess el siguiente codigo:

Código PHP:
Ver original
  1. RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?lu=$1 [NC,L]

Esto es para que cuando pulsemos el link nos lleve a www.dominio.es/lugar

la cosa es que si ademas ponemos en el navegador por ejemplo www.dominio.es/sfsadfs tambien nos lleva a la misma pagina, y megustaria que llevase a la pagina de error 404.html.

Alguien sabe como podria hacer esto?


Un saludo!
  #2 (permalink)  
Antiguo 11/11/2013, 07:44
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: Redireccion .htaccess

supongo que todo va a parar a un index en el que cargas lo que toque, asi rápido... un switch con todas las paginas existentes incluidas en el primer case, y luego en el default la pagina de error
  #3 (permalink)  
Antiguo 11/11/2013, 09:08
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Redireccion .htaccess

Con un RewriteCond podrás.

FORO EQUIVOCADO.
  #4 (permalink)  
Antiguo 12/11/2013, 04:38
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Redireccion .htaccess

Hola,

Gracias a todos por responder,

PhPeros he probado a cambiar por el RewriteCond pero al subirlo me da un error 500

No se por que puede ser.

Un saludo!!

Gracias
  #5 (permalink)  
Antiguo 12/11/2013, 08:16
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Redireccion .htaccess

No hombre! No te dije que lo cambiaras, es otra historia...

Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?lu=$1 [NC,L]

¿Que bien sientan las cositas a la boca eh?
  #6 (permalink)  
Antiguo 12/11/2013, 13:43
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Redireccion .htaccess

Muchas gracias amigo PHPEROS,

Tengo una pregunta

Esposible distinguir las variables, me explico ahora mismo y con lo poco que se de este tema, esta linea

Código PHP:
Ver original
  1. RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?lu=$1 [NC,L]

Distingue que le llega una variable pero no el nombre de la variable no es asi?


Mi .htaccess lo tengo asi,


Código PHP:
Ver original
  1. ErrorDocument 404 /404.html
  2.  
  3. Options +FollowSymLinks
  4. RewriteEngine On
  5.  
  6. RewriteCond %{HTTP_HOST} ^dominio.es
  7. RewriteRule ^ http://www.dominio.es%{REQUEST_URI} [L,R=301]
  8.  
  9. RewriteCond %{REQUEST_FILENAME} !-f
  10. RewriteCond %{REQUEST_FILENAME} !-d
  11.  
  12.  
  13. RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sitio.php?p=$1&n=$2 [NC,L]
  14.  
  15. RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?lu=$1 [NC,L]

y me sigue ocurriendo lo mismo no me muestra la pagina de 404 cuando meto, www.dominio.es/ffefr


Bueno saludo y muchas garcias de nuevo!!
  #7 (permalink)  
Antiguo 12/11/2013, 14:50
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Redireccion .htaccess

Hola de nuevo!

Respecto al primer código, las coincidencias que se encuentren con tu patrón, se colocarán en forma de parámetro (en realidad sólo es un pequeño truco del servidor). Lo más normal es utilizar ^(.+)$ como patrón ya que se refiere a cualquier texto sin tomar en cuenta ninguna regla. Probablemente el problema esté ahí, que no lo aplica porque no encuentra tal cadena.

Lo del nombre de variable creo que no sabías como funcionaba RewriteRule (ahora sí xD)...
Importante: Si hay otros parámetros (reales) en la URL que va a ser transformada (no amigable), éstos no se pasarán a la nueva a no ser que se especifique la directiva [QSA].

Con que lo entiendas más o menos es suficiente, cuando necesites te facilito el código.

Saludos

Última edición por PHPeros; 12/11/2013 a las 14:58
  #8 (permalink)  
Antiguo 14/11/2013, 03:06
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Redireccion .htaccess

Hola amigo, phperos

Gracias de nuevo por tu atención.


Como me has comentado he probado a cambiar ^([a-zA-Z0-9_-]+) por esto otro ^(.+)$ pero la cosa sigue igual.

Mi idea es poder hacer lo siguiente con estas dos url:

www.dondelocompro.es/pagina1.php?j=1

convertirla a www.dondelocompro.es/juegos

y esta otra

www.dondelocompro.es/pagina2.php?n=2

convertirla a www.dondelocompro.es/noticias

Pero encuento coloco:

RewriteRule ^([a-zA-Z0-9_-]+)$ pagina1.php?j=$1 [NC,L]

todo va hacia www.dondelocompro.es/juegos da igual que se ponga a la derecha de la barra si metemos a mano www.dondelocompro.es/xxxxx nos lleva al mismo sitio.


Bueno muchas gracias

Un saludo!
  #9 (permalink)  
Antiguo 14/11/2013, 10:34
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Redireccion .htaccess

Espero que funcione:

Código Apache:
Ver original
  1. RewriteCond %{REQUEST_FILENAME} !-d
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3.  
  4. RewriteRule ^\/pagina1\.php\?j=1$ /juegos [NC,L]
  5. RewriteRule ^\/pagina2\.php\?n=2$  /noticias [NC,L]

Saludos

Última edición por PHPeros; 14/11/2013 a las 10:39

Etiquetas: htaccess, html, php, redireccion
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 08:01.