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

Redirección y extensión php

Estas en el tema de Redirección y extensión php en el foro de Apache en Foros del Web. Hola amigos, tengo una pregunta para hacer una redirección, hago la canonicalizacion con este código, $target_host = "www .ejemplo.com"; // www .ejemplo.com or ejemplo.com $redirect ...
  #1 (permalink)  
Antiguo 24/09/2009, 12:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Redirección y extensión php

Hola amigos, tengo una pregunta para hacer una redirección, hago la canonicalizacion con este código,

$target_host = "www .ejemplo.com"; // www .ejemplo.com or ejemplo.com
$redirect = false;
$path = $_SERVER['REQUEST_URI'];
$host = $_SERVER['HTTP_HOST'];

// Checking host
if ($host != $target_host) {
$redirect = true;
$host = $target_host;
}
$url = $host.$path;

// Checking path
$pattern = "^(.*)(/index\.php)$^";
preg_match_all($pattern, $url, $match);
if ($match[0][0] != "") {
$redirect = true;
$url = $match[1][0] . "/";
}

// Redirect
if ($redirect){
header('HTTP/1.1 301 Moved Permanently');
header('Location:http ://'.$url);
}

hasta aquí no tengo problemas. Ahora lo que quiero es quitarle la extesión /archivo.php para que se muestre la url simplemente como /archivo, ahora ocupo esto:

RewriteEngine on
RewriteRule ^archivo$ archivo.php [L]

Quisiera saber como hacerlo para todos mis archivos .php y también como redirigirlos para que no sea considerado como contenido duplicado.

Muchas gracias amigos foristas...
  #2 (permalink)  
Antiguo 24/09/2009, 15:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Redirección y extensión php

Bueno, puedes hacer esto
Código CODIGO:
Ver original
  1. RewriteEngine on
  2. RewriteRule ^(.*)/?$ $1.php [L]
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/09/2009, 18:52
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirección y extensión php

Gracias,

Como puedo solucionar lo de la redirección, porque con el código anterior puedo accesar de las 2 maneras:

/archivo.php y /archivo

he tratado de hacer una redirección 301 pero no me corre.

Saludos
  #4 (permalink)  
Antiguo 25/09/2009, 11:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Redirección y extensión php

Puedes usar RedirectMatch para eso
Código codig:
Ver original
  1. RedirectMatch "\.php$" http://www.example.com/index/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 25/09/2009, 13:52
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirección y extensión php

Disculpa por la lata abimaelrc, pero con este código no corre.

Lo que necesito es que al entrar a https ://www .ejemplo.com/archivos.php

redirija a http ://www .ejemplo.com/archivos,

como tengo varias archivos php necesito que sea para todos.

saludos y gracias
  #6 (permalink)  
Antiguo 26/09/2009, 13:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Redirección y extensión php

Ok, trata de esta forma

Código codigo:
Ver original
  1. RedirectMatch (.*)"\.php$" $1
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:00.