OVH Community, your new community space.

Friendly URLs


RJSurmano
16/01/2009, 14:57
Por fin... MIL GRACIAS

El código definitivo para los servidores OVH es el siguiente:
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/id/([^/]+)/$ $1.php?id=$2& [L,NC]
De este modo tendremos paginas del tipo: tudominio.com/pagina.php?id=5, transformadas en:
tudominio.com/pagina/id/5/

Con esto el tráfico aumentara muchisimo más, ya que Google te aumentará la preferencia de una forma increible... os lo recomiendo

GRACIAS DE NUEVO
Un saludo

sdzzds
16/01/2009, 12:49
Prueba a crear las reglas a través de alguno de este generadores:

http://xem247.com/tool/htaccess.php

http://www.generateit.net/mod-rewrite/

http://developers.evrsoft.com/tools-...enerator.shtml

http://www.webmaster-money.org/tools..._generator.php

http://cooletips.de/htaccess/

RJSurmano
15/01/2009, 21:24
No, no, perdona...
Tambien había definido la url sin la variable idioma... ya digo que no es por un fallo tonto de ese estilo, he hecho demasiadas pruebas

Gracias!

Ferny
15/01/2009, 20:47
The requested URL /informacion/652.html was not found on this server
A ver, si estás entrando con la url http://www.dominio.com/informacion/652.html es normal que no funcione, porque el .htacces está diseñado para URL del tipo http://www.dominio.com/informacion/652/es.html

RJSurmano
15/01/2009, 20:44
Ambas propuestas siguen soltando el mismo error.

El archivo que solicito sí que existe, he probado con un montón. Llevo semanas con esto...

El error siempre es:
Not Found
The requested URL /informacion/652.html was not found on this server

Carlose, por lo de ^(.*).html$ $1.php, no hay problema, de hecho si pongo esta regla, funciona sin problemas, como mencione en el primer post:

RewriteEngine On
Rewriterule ^(.*)-(.*)\.html$ $1.php?id=$2
El problema viene cuando quiero reemplazar ese guion de la url por un /

carlose
15/01/2009, 20:23
Creo recordar (y no me puse a investigar por qué) que no funcionaba algo así:

Código:
RewriteEngine On
Rewriterule ^(.*).html$ $1.php
Donde (.*) = prueba = $1

O sea que si la variable era la misma palabra que el archivo php no iba.
Como me daba igual cambie de nombre el archivo php.
Quizás sea eso....

Ferny
15/01/2009, 20:21
A mi me funcionaba, aunque ahora no lo tengo activado, y tengo la R2 de OVH. Y a ti parece que te funcionaba, porque en un caso iba... así que tiene que ser la sintaxis de ese .htaccess

Yo la verdad no conozco mucho de la sintaxis en los .htaccess pero algo me defiendo y normalmente sigo el método de "prueba y error" hasta que funcione :-D He estado mirando un poco por la web, prueba con esto (es idéntico a un ejemplo que encontré):

Código:
Options +FollowSymLinks

RewriteEngine On
Rewriterule ^([^/]*)/([^/]*)/([^/]*)\.html$ /$1.php?id=$2&idioma=$3 [L]
Por cierto asumo que ese archivo informacion.php existe y está en la carpeta raíz de tu web ¿no?

RJSurmano
15/01/2009, 20:00
Gracias por la contestacion, pero nada... ERROR 404

Esto tiene que ser de alguna configuracion de OVH, porque no es normal... No hay manera.

Alguien lo tiene en su web y le funciona?? Que nos diga cómo ha escrito ese .htaccess por favor!

Por cierto uso la Release 2 de Gentoo

Ferny
15/01/2009, 19:43
¿Si lo dejas así? (añadí una / delante de $1.php)

RewriteEngine On
Rewriterule ^(.*)/(.*)/(.*)\.html$ /$1.php?id=$2&idioma=$3

RJSurmano
15/01/2009, 19:25
Nada, eso no funciona

Lanza un error 404, no entiendo por qué... En vuestros servers funciona bien?

Ferny
15/01/2009, 19:01
La regla tendría que ser:

Código:
RewriteEngine On
Rewriterule ^(.*)/(.*)/(.*)\.html$ $1.php?id=$2&idioma=$3
Y la url:

http://www.tudominio.com/informacion/2/es.html

RJSurmano
15/01/2009, 16:34
Buenas, tengo un problema que me está volviendo loco, con la optimización de URLs mediante archivo .htaccess.

Si pongo esto, funciona:
RewriteEngine On
Rewriterule ^(.*)-(.*)\.html$ $1.php?id=$2
En cambio esto otro lanza un error 404, cuando en verdad no debería ser así:
RewriteEngine On
Rewriterule ^(.*)/(.*)\.html$ $1.php?id=$2
Es que con los servers de OVH hay que hacer algo más para poder hacer eso?
La intentacion es transformar url del tipo:
informacion.php?id=2&idioma=es
informacion/id/2/idioma/es ó informacion/2/es



GRACIAS!!