que no hay documentación sobre .
htaccess?
Hay... y mucha...
Por ejemploUna cosa que se aconseja, es especificar una ruta "base", mediante:
<head>
<base href="http://www.phoxer.com/" />
...
</head>
y seguido, poner todos los enlaces (css, swf...) como ruta relativa respecto a "base" (es decir, sin el '
http://www.phoxer.com')
Pero detecto otro problema de base.
Por un lado, quieres que la ruta visible, sea: "
phoxer.com/es/blog" (A)
Pero por otro, todos tus enlaces son "
phoxer.com/index.html?lang=es&page=blog" (B)
y a su vez, quieres que se muestre sólo "
phoxer.com/es/blog" (A)
La redirección .
htacces, hace que:
URL(A) -> URL(B)Pero no implica lo contrario...
No puedes poner los enlaces tipo "B", y pretender que se redirijam automáticamente a los tipo "A".
Y si haces una nueva redirección .
htaccess, que sea
URL(B) -> URL(A), quizá entres en un bucle, que terminará en
error500No soy un experto en el asunto, quizá podrías intentarlo con:
URL(B) -> URL(A)
URL(A) -> URL(B) [L](El parámetro "
[L]", haría que una vez ejecutada esta redirección, no volviera a la anterior)
Aún así... creo que lo mejor...
lo que deberías hacer, es cambiar los links de tu proyecto... y ser coerente con tu deseo inicial... de
sólo mostrar las rutas con la tipología "(A)", y no poner ninguna tipo "B"
Otra cosa más a tener en cuenta... es que la redirección que pones, es muy genérica.
Cumple esto:
phoxer.com/es/blog ->
phoxer.com/index.html?lang=es&page=blogpero también cumple esto:
phoxer.com/cualquier_cosa/subruta/hoja.css ->
phoxer.com/index.html?lang=cualquier_cosa&page=subruta/hoja.cssPara evitarlo, deberías ser más específico con las expresiones regulares, y no tan "genérico" (lo que te dige sobre "es" o "en")...
Quizá... sería algo así:
Rewriterule ^(es|en)/(blog|foro)(/*)$ /index.php?lng=$1&page=$2 [R]
De esta manera, sólo captura el "en/es"... y no cualquier cadena que pongas (igual para "blog/foro")
Y sobre las terceras y cuartas variables... pues igual...
Deberías crear otras redirecciones, que te añadiesen las demás variables...
Un ejemplo, sería:
Rewriterule ^(es|en)/blog(/*)$ /index.php?lng=$1&page=blog [R]
Rewriterule ^(es|en)/blog/(post|category)_([0-9]+)(/*)$ /index.php?lng=$1&page=blog&$2=$3[R]
Rewriterule ^(es|en)/tag_([0-9]+)(/*)$ /index.php?lng=$1&tag=$2[R]
De esta manera, tendrías soporte para las nuevas direcciones:
http://www.phoxer.com/es/blog/
http://www.phoxer.com/es/blog/category_7
http://www.phoxer.com/es/blog/post_3
http://www.phoxer.com/es/tag_4
Pero claro... deberías usar estas direcciones, en tus links,
y no las "formato php"(fijate, que estos foros, usan las url "bonitas", y no aparece ninguna "formato php", así que encomiendan al
htaccess el paso a las "formato php")
Saludos.
David