 |
Foro de Posicionamiento y Buscadores Aprendiendo a Promocionar Páginas Web. Xeoweb :: Sindicar
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Prometeo Busco en Dmoz

Registrado: 06 May 2006 Mensajes: 176
|
Publicado: Jue Jul 26, 2007 12:07 am Asunto: Duda sobre rediccionamiento 301 |
|
|
Hola a tod@s,
Ante todo gracias anticipadas por vuestras respuestas.
Tengo un problema con un rediccionamiento 301, si bien normalmente redirecciono sin problemas con este texto:
redirect 301 /pagina.com/pagina.htm http://www.pagina.com/nuevapagina.htm
Ahora deseo redireccionar la página:
http://www.pagina.com/index.php?catSearch=15&limit=9
a
http://www.pagina.com/urlamigable.php
¿Qué texto tendría que poner para que funcionara?. Porque he probado lo anterior y no hay manera.
También si fuera posible utilizar algún tipo de comodín para que todas las catSearch=15 redireccionaran a urlamigable.php mejor que mejor ya que así no habría problema cuando aparecieran diferentes limit.
Espero haberme explicado bien, cualquier duda me comentaís.
Gracias! _________________ Blog Gratis sobre Gadgets
Página sobre Frases |
|
| Volver arriba |
|
 |
JustMe Vivo en Xeoweb
Registrado: 27 Sep 2005 Mensajes: 3063 Ubicación: Por ahí....
|
Publicado: Jue Jul 26, 2007 12:55 am Asunto: Re: Duda sobre rediccionamiento 301 |
|
|
mod_rewrite en Apache usa un motor de expresiones regulares, en regex, el símbolo "?" significa "la expresión anterior cero o una vez" , por lo tanto, debes hacer que el carácter "?" lo interprete no como un operador sino como un carácter literal, para ello, debes "escaparlo" con el símbolo "\".
Por ejemplo:
| Código: | | Redirect 301 ^index.php\?catSearch=15&limit=9 http://www.pagina.com/urlamigable.php |
Que, incidentalmente no funciona. No obstante,
| Código: | RewriteEngine on
RewriteRule ^index.php\?catSearch=15(.*)$ http://www.pagina.com/urlamigable.php [R=301] |
Debería funcionar, redirige todas las catSearch=15 hacia tu página amigable pero no pasa los parámetros, si los necesitas, tienes que se más especifico acerca de tu página amigable y lo que esta hace, después de todo no parece urlamigable.php parece urlmisteriosa,php.
Nota también que index.php reside en el directorio raíz (/), y que allí no debo poner nunca ni el protocolo (http://) ni el nombre del dominio. En la segunda parte (el destino) si pongo la URL completa.
Una forma que en este caso sería más sencilla y directa y probablemente resolvería tu segundo problema que no entendí muy bien sería hacerlo en php, poniendo al inicio de index.php
| Código: | if (!empty($_REQUEST['catSearch']) && $_REQUEST['catSearch']==15){
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://ladireccionadondequieresquevaya');
} |
Desde luego, como yo no sé que es "urlamigable.php" no sé si se creará con esto una redirección infinita, ¿Es "urlamigable.php" un archivo físico?, es decir, ¿Existe? o ¿Es el mismo index.php con algún rewrite aplicado?
| Cita: | También si fuera posible utilizar algún tipo de comodín para que todas las catSearch=15 redireccionaran a urlamigable.php mejor que mejor ya que así no habría problema cuando aparecieran diferentes limit.
Espero haberme explicado bien, cualquier duda me comentaís.
|
Segundas partes nunca fueron buenas y esta no la entendí claramente, pero quizás lo que te puse arriba en php te haga el truco. _________________ PHP Data uri fier
Blog Gratis |
|
| Volver arriba |
|
 |
Prometeo Busco en Dmoz

Registrado: 06 May 2006 Mensajes: 176
|
Publicado: Jue Jul 26, 2007 3:43 pm Asunto: |
|
|
Muchas gracias por la ayuda JustMe!
Siento haberte dado pocos datos, lamentablemente lo que me comentas no funciona por lo que intentaré darte todos los datos que pueda, agradeciéndote tu ayuda por anticipado.
Mi duda se refiere a la página http://www.jugones.net/gcards/index.php , como puedes ver a la izquierda si pulsas en cualquiera de las secciones aparecen páginas del estilo: http://www.jugones.net/index.php?catSearch=15&limit=9 , lamentablemente estas páginas son muy poco "amigables" para los buscadores por lo que he añadido el siguiente código en el htaccess:
RewriteEngine on
Rewriterule ^postalamigas.php$ index.php?catSearch=15&limit=9
Para cada una de las secciones, creando artificialmente una página mucho más amigable. Para evitar la duplicidad he añadido estas páginas CatSearch al archivo robots.
Lo que me gustaría es poder redireccionar los enlaces que había a dichas webs complicadas creadas por el script a las nuevas, pero no consigo redireccionar las páginas, ya que pienso yo, las dirijo a páginas que no existen en si.
Si hubiera algún código que pudiera añadir al script o al index para que cada categoría no creara una página php?catSearch sino una con el nombre de la categoría sería increible y si no pues encontrar alguna forma de redireccionar los enlaces que había a las páginas nuevas creadas con una url mucho mejor.
Puedes ver todos los enlaces nuevos creados en la parte de abajo de la web.
De nuevo gracias anticipadas.
Saludos _________________ Blog Gratis sobre Gadgets
Página sobre Frases |
|
| Volver arriba |
|
 |
JustMe Vivo en Xeoweb
Registrado: 27 Sep 2005 Mensajes: 3063 Ubicación: Por ahí....
|
Publicado: Jue Jul 26, 2007 6:17 pm Asunto: |
|
|
Uff... debe ser mi día tonto, no entiendo bien que es lo que quieres hacer, en tu web tienes dos estilos de enlaces, con y sin parámetros, imagino que es porque tienes planeado cambiarlas todas a "amigables" pero aun no lo has hecho, ¿me equivoco?
Según lo que te entendí, y para no crear redirecciones infinitas en apache, más te valdría hacerlo en php, como no he entendido aun bien, no sé de seguro si está bien, pero creo que algo como esto te valdrá:
| Código: |
if (strpos($_SERVER['REQUEST_URI'], '?')!==false){
#### REQUEST_URI contiene la URL tal y como fue ingresada
if(!empty($_GET['catSearch'])){
switch($_GET['catSearch']){
case 1 :
$new_url = 'http://mipagina.tld/mipaginaamigable1.php';
break;
.
.
.
case 15 :
$new_url = 'http://mipagina.tld/mipaginaamigable15.php';
break;
default:
##### NO ENCONTRÓ COINCIDENCIA EN LA LISTA DE POSIBLES
$new_url = 'http://mipagina.tld/';
}
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$new_url);
}
}
|
Desde luego, tienes que acoplarlo a tus propias necesidades, déjame saber qué pasa con él.... y por supuesto, si eso era lo que querías. _________________ PHP Data uri fier
Blog Gratis
Ultima edición por JustMe el Jue Jul 26, 2007 8:30 pm, editado 1 vez |
|
| Volver arriba |
|
 |
Prometeo Busco en Dmoz

Registrado: 06 May 2006 Mensajes: 176
|
Publicado: Jue Jul 26, 2007 8:27 pm Asunto: |
|
|
De nuevo Gracias JustMe,
Si la idea es que antes tenía las páginas tal y como venían por defecto en el script (menú de la izquierda), pero este script no tiene opción (como por ejemplo el wordpress) de poner urls más sencillas, por lo que como no podía crear yo esas webs (al generarse automaticamente) las he creado con el código que te comenté más arriba a mi gusto en el htaccess.
Rew | Código: | | riterule ^postalamigas.php$ index.php?catSearch=15&limit=9 |
El problema es que no puedo realizar una redireccion 301 de las que da el script a las nuevas creadas por mi, de ahí mi problema.
El código que me comentas, ¿habría que añadirlo en el index? Al principio supongo con los otros ifs que tiene y entiendo que sería uno diferente para cada categoría.
Gracias de nuevo por tu tiempo y Saludos _________________ Blog Gratis sobre Gadgets
Página sobre Frases |
|
| Volver arriba |
|
 |
|
| Respuesta Rápida y Acciones |
| |
|
|
Página 1 de 1
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
|
|
Logo diseñado por iLevante
Powered by phpBB © 2001, 2009 phpBB Group
|