Jump to content

Generar .htaccess para utilizar las url amigables


poseidon

Recommended Posts

Hola,

Tengo instalada una tienda 1.2.0.5 en un servidor que si acepta las URL AMIGABLES y cuando genero el archivo .htaccess en el se escribe el siguiente código

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

# Catch 404 errors
ErrorDocument 404 /404.php



Creo que no me hace bien el archivo ya que entonces no me funciona casi nada (no se ven imágenes, no pasa de un idioma a otro) me dice que no encuentra las paginas.

Alguien me puede ayudar un poco en este tema.

Un saludo y gracias.

Link to comment
Share on other sites

Hola poseidon, suponiendo que has realizado la activación de las url amigables y despúes has generado el fichero .htaccess debería tener un contenido parecido al siguiente:

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

# URL rewriting module activation
RewriteEngine on

# URL rewriting rules
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /prestashop/img/p/$1-$2$3.jpg [L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /prestashop/img/c/$1$2.jpg [L,E]
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /prestashop/product.php?id_product=$3&isolang;=$1$5 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /prestashop/product.php?id_product=$2&isolang;=$1$4 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /prestashop/category.php?id_category=$2&isolang;=$1 [QSA,L,E]
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /prestashop/product.php?id_product=$2$4 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /prestashop/product.php?id_product=$1$3 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /prestashop/category.php?id_category=$1 [QSA,L,E]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /prestashop/cms.php?id_cms=$1 [QSA,L,E]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /prestashop/supplier.php?id_supplier=$1$3 [QSA,L,E]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /prestashop/manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/(.*)$ /prestashop/$2?isolang=$1 [QSA,L,E]

# Catch 404 errors
ErrorDocument 404 /bastris/404.php



Borra el contenido y comprueba que tiene permisos de escritura y haz nuevamente el proceso de creación.. un saludo TECNILOCO.

Link to comment
Share on other sites

Hola Tecniloco,

Gracias por tu rápida respuesta, ya que es un tema que si no solucionaba no podía avanzar en los demás temas.

He copiado tu código, pero he sustituido todo a lo que hace referencia al directorio prestashop, ya que si no me encontraba algunas paginas.

Gracias por tu ayuda.

Link to comment
Share on other sites

  • 3 months later...

Hola Tecniloco,

Sigo habitualmente el foro aunque participo poco por mis bajos conocimientos actuales en Prestashop, y con los consejos de todos estoy aprendiendo muchísimo (sobre todo con los tuyos, que nos sacas a la mayoria de muchos apuros).

Llevo varios dias intentando resolver un problema al que no encontraba solución, he leido todos los post abiertos sobre el problema en cuestión y nada... hasta que he leido tus dos líneas mágicas: "Hola poseidon, suponiendo que has realizado la activación de las url amigables y despúes has generado el fichero .htaccess debería tener un contenido parecido al siguiente:". Con esto me ha bastado para encontrar la solución.

No seguí ese orden y las consecuencias son las que veo que está padeciendo muchísima gente: el archivo .htaccess no se genera correctamente y cuando se activa la opción de url amigable, todos los artículos desaparecen del frontoffice, todo da error 404 y la única solución para que todo vuelva a estar como antes es desactivando esa opción.

Te agradezco el comentario y creo que sería de mucha utilidad para todos los que he visto que tienen el mismo problema. No sé como crear un post destacado (creo que no puedo) proponiendo la solución que es tan simple como seguir el orden que indicas, pero si tu puedes hacerlo creo que muchos compañeros te lo agradecerán.

Un saludo y gracias.

Link to comment
Share on other sites

Bueno, ahora si que ya no entiendo nada.

Despues de muchas pruebas antes de tu recomendación (Tecniloco) no conseguía que se generase correctamente el .htaccess y obtenía como resultado el mismo que poseidon.

Como la base de datos la estoy subiendo mediante el sistema de importación y va de escándalo (incluído fotos), decidí para evitar posibles problemas, borrarla completamente y seguir con las pruebas para generar el .htaccess. En el momento en que generé el .htaccess correcto tenía varias categorias y subcategorias incluidas y ningún artículo, y todo funcionó perfecto (cada categoria con su url amigable y funcionando bien en el front).

Cual es mi sorpresa cuando esta mañana subo un lote de artículos y vuelve a aparecer el problema del error 404 en el frontoffice cuando intento ver los productos (solo los artículos, las categorias si que funcionan bien).

¿Alguna sugerencia?

Link to comment
Share on other sites

  • 2 weeks later...

Hola de nuevo.

He seguido indagando en el tema y tengo nuevos resultados. Os cuento que sucede y a ver si alguien puede sacar alguna conclusión que nos pueda servir de ayuda.

Hemos seguido incluyendo nuevas categorías y artículos en la tienda con la url amigable desactivada puesto que no encontramos solución al problema. Hoy decidimos probar nuevamente la opción de url amigable para ver que ocurría y el resultado es el siguiente:

- Todas las páginas de las categorias aparecen correctas
- Las páginas de los artículos que daban error siguen dándolo.
- De los nuevos artículos incluidos, dependiendo de la categoria en la que están, unos dan error y otros no.

Actualmente tenemos 3 categorias que dan error los artículos incluidos en ellas, que son: discos duros, DVD sobremesa y MP3/MP4/MP5, en cambio los que están dentro de DVD portatiles, E-books y TV LCD portatiles no dan error y funciona perfectamente.

Hemos comparado el campo URL amigables de unos y otros porque pensabamos que ahi podía estar el problema pero no encontramos ninguna diferencia entre ellos, simplemente unos funcionan y otros no.

¿A alguien le pasa lo mismo o puede ayudarme? Gracias.

NOTA: Os dejo el enlace de la web por si alguien quiere ver de lo que hablo. La dejaré con la opción de url amigable activada durante unos días.

www.regalosonline.es

Link to comment
Share on other sites

Por fin!!!

He encontrado la solución al problema!!

Al haber incluido los artículos y las categorías importandolos mediante csv, algunas categorias tenían como url amigable los espacios con "_" en lugar de con "-".

Lo curioso es que al visitar la pagina de las categorias con "_" no daba error, pero sin embargo al ver los productos incluidos en esa categoria si que "cantaba".

Por tanto, si os sale el error 404 al activar las url amigables, revisad el nombre completo de las nuevas url (incluidas las categorias), pues aunque estén correctas las urls de los artículos, si no lo están las de las categorias dará el error, y no "da la cara" hasta que intentas abrir la pagina del artículo.

  • Like 1
Link to comment
Share on other sites

  • 5 months later...
  • 8 months later...

Pues ,i problema es que subo el catalogo en csv con url amigable y al pinchar/cambiar de idioma por ejemplo al ingles la sorpresa es que las ``aginas amigables siguen saliendo en español.Logicamente subi anteriormente el catalogo en ingles tambien pero con las url amigables en ingles , pero siguen saliendo en español.¿A alguien le pasa lo mismo o tiene una solucion?

Saludos

Link to comment
Share on other sites

  • 1 month later...

hola mi problema es el siguiente:

creo y se genera bien el fichero .htaccess con los datos teniendo acivado url amigables antes de crearlo.

Lo que sucede es que cuando pulso en la web una categoria se queda pensando y no accede a dicha categoria

Saludos os muestro el contenido del fichero

 

# URL rewriting module activation

RewriteEngine on

# URL rewriting rules

RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]

RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg [L,E]

RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]

RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang=$1$5 [L,E]

RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang=$1$4 [L,E]

RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang=$1 [QSA,L,E]

RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [L,E]

RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [L,E]

RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E]

RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E]

RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E]

RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]

RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E]

# Catch 404 errors

ErrorDocument 404 /404.php

Link to comment
Share on other sites

  • 4 months later...
Por fin!!!

 

He encontrado la solución al problema!!

 

Al haber incluido los artículos y las categorías importandolos mediante csv, algunas categorias tenían como url amigable los espacios con "_" en lugar de con "-".

 

Lo curioso es que al visitar la pagina de las categorias con "_" no daba error, pero sin embargo al ver los productos incluidos en esa categoria si que "cantaba".

 

Por tanto, si os sale el error 404 al activar las url amigables, revisad el nombre completo de las nuevas url (incluidas las categorias), pues aunque estén correctas las urls de los artículos, si no lo están las de las categorias dará el error, y no "da la cara" hasta que intentas abrir la pagina del artículo.

 

hola. como lo sulucionaste, no entiendo lo que dices

Link to comment
Share on other sites

hola. como lo sulucionaste, no entiendo lo que dices

 

Debes revisar como has separado las palabras en las url amigables. Comprueba que todas estén separadas con "-". En caso de que haya alguna que esté con "_" dará error.

 

Debes revisar que esto se cumple tanto con los productos como con las categorías. Suerte!

Link to comment
Share on other sites

Debes revisar como has separado las palabras en las url amigables. Comprueba que todas estén separadas con "-". En caso de que haya alguna que esté con "_" dará error.

 

Debes revisar que esto se cumple tanto con los productos como con las categorías. Suerte!

Gracias, las categorías estan con - pero los productos no se como verlo

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...