Jump to content

URL amigable no funciona con idiomas (SOLUCIONADO)


Recommended Posts

Hola a todos,

Me he encontrado con el problema de que cuando marco URL amigable y conmuto entre los idiomas me sale página no encontrada.

Si revierto lo de URL amigable puedo conmutar entre los idiomas si problema.

Apreciaría cualquier sugerencia al respecto.

Gracias anticipadas

Vari

Edited by varishop (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Hola,

He reabierto este post por que antes tenia el problema en local y después de haberlo subido al host me vuelve a dar el problema.

He intentado lo que me indicó plastelino en un post anterior, pero no he tenido resultados satisfactorios.

Observo que en el apartado SEO y URL me pone este mensaje en el punto de URL amigable "URL rewriting (mod_rewrite) is not active on your server or it is not possible to check your server configuration. If you want to use Friendly URLs you must activate this mod" no se si esto puede ser la causa.

Agradecería alguna sugerencia

Un saludo

Link to comment
Share on other sites

Pues va a ser que no va fino del todo.

Lo curioso es que con URL amigables me da error 404 si cambio de idioma en la página de inicio, pero ya dentro de alguna opción, puedo cambiar de idioma sin problema.

Sin URL amigables funciona a la perfección.

¿Alguna sugerencia?

Link to comment
Share on other sites

#RewriteRule . - [E=REWRITEBASE:/]

 

Esto es una regla para el mod_rewrite, posterior al hecho de que esté activo. (cosa que no parece que así sea en el mensaje)

 

Añade esta instrucción en tu .htaccess a ver si te lo arregla:

RewriteEngine On

 

No acabo de entender si realmente lo tienes activo el mod_rewrite, que algo sí, pero no todo, tiene que ver con las URL amigables.

 

El mensaje es claro: URL rewriting (mod_rewrite) is not active y se activa insetando la linea que te puse arriba.

Usando en el BO, Herramientas, Generadores, el .htaccess que te genera ya lleva esa instrucción, de ahí que no comprenda muy bien como puede decirte eso.

 

De ser verdad ese mensaje, puede ser que no tengan el modulo instalado, pero eso es más raro aún.

Link to comment
Share on other sites

Gracias wippa,

"RewriteEngine On" Es la primera instrucción que tengo en el .htaccess. También tengo "RewriteRule . - [E=REWRITEBASE:/]".

Sin embargo observo que tengo un .htaccess (al que no tengo acceso) en la carpeta raiz y otro al que si tengo acceso, en la carpeta "_html" .

¿Puede darnos alguna pista que el cambio de idioma no funcione en la página de inicio, pero si en las demás?

Un saludo

Link to comment
Share on other sites

Esto se complica :)

 

¿Cuando entras al home, puedes ver el "index.php" escrito?

 

Tal vez en las reglas se está poniendo u omitiendo ese valor.. Es muy curioso que "dentro" no te dé error y en el home sí.

O bien el módulo de idiomas no apunta bien al home usando el basedir o bien una instrucción o mas de las contenidas en el htaccess tiene mal el parámetro.

 

Siendo que sólo el home falla se me ocurre eso...

¿En "mapa-del-sitio" te sucede lo mismo que en portada?

 

Se me ocurre que pongas debajo del rewriteengine on:

RewriteBase /

 

No es exactamente lo mismo que lo que quitaste para arreglarlo, pero ya por probar...

Quitar el rewriterule que has comentado NO está recomendado para nada. Esa instrucción evita dobles // en las URL, lo cual genera contenido duplicado.

Edited by wippa (see edit history)
Link to comment
Share on other sites

Hola wippa,

En la home no se ve escrito el index.php.

En el mapa de sitio me funciona el cambio de idioma sin problema, ya que solo da error 404 cuando cambio de idioma en la home.

He puesto en .htaccess la linea que me has indicado, pero sigue haciendo lo mismo.

Gracias por compartir mi problema

Link to comment
Share on other sites

Tengo exactamente el mismo problema desde hace semanas.

Veo que en este hilo sí que alguien está constestando.

Si lo solucionas te agradecería que me lo dijeras, porque yo no doy con la solución.

A mi en local me funciona perfectamente, pero en el servidor no.

Saludos

Link to comment
Share on other sites

¿Puedes copiar aquí el contenido de tu htaccess?

Lo pregunto por si tienes algo especial escrito que no debas poner como redirecciones o cosas protegidas.

Si tienes una instalación normal con pegarlo entero puede valer.

 

Me interesa la parte de rewriteCond y/o rewriteRule donde están las expresiones regulares que dan la condición y las reglas a aplicar.

Veo que sólo te añade bien las url cuando estás fuera de index, así que creo que en la que aplica al index en sí no está puesta la que te permite el cambio de idioma, la cual agrega a la url el prefijo de idioma y por ende te dá el fallo.

Link to comment
Share on other sites

Te copio el archivo:

 

 

 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution

# http://www.prestashop.com - http://www.prestashop.com/forums

 

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule . - [E=REWRITEBASE:/]

RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

 

# Images

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]

 

# Dispatcher

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^.*$ - [NC,L]

RewriteCond %{HTTP_HOST} ^www.nupani.com$

RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]

</IfModule>

 

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/gif "access plus 1 month"

ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType image/png "access plus 1 month"

ExpiresByType text/css "access plus 1 week"

ExpiresByType text/javascript "access plus 1 week"

ExpiresByType application/javascript "access plus 1 week"

ExpiresByType application/x-javascript "access plus 1 week"

ExpiresByType image/x-icon "access plus 1 year"

</IfModule>

 

FileETag INode MTime Size

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

</IfModule>

 

#If rewrite mod isn't enabled

ErrorDocument 404 /index.php?controller=404

 

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

 

 

Gracias por la ayuda

un saludo

Link to comment
Share on other sites

Te copio el .htaccess que tengo en local ya que me funciona igual que en el host:

 

 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution

# http://www.prestashop.com - http://www.prestashop.com/forums

 

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule . - [E=REWRITEBASE:/diorelshop/]

RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

 

# Images

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]

 

# Dispatcher

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^.*$ - [NC,L]

RewriteCond %{HTTP_HOST} ^localhost$

RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]

</IfModule>

 

#If rewrite mod isn't enabled

ErrorDocument 404 /diorelshop/index.php?controller=404

 

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

Link to comment
Share on other sites

Vuestro htaccess no está bien generado. Sólo tenéis instrucciones para imágenes, para mejora de la caché, y poco más. No tenéis ni una sola instrucción para renombrar categorías ni páginas del cms.

 

Me voy a poner el prestashop 1.5 que creo que es el que tenéis ambos, y os digo mis resultados.

 

En ps 1.4 no usa el rewritebase con una regla E= y cada instrucción lleva consigo el directorio añadido en la regla. Tal vez, si no funciona el con {ENV:REWRITEBASE} podáis reescribir las reglas añadiendo el directorio a mano.

Usando un programa que sustituya {ENV:REWRITEBASE} por /midir/ podréis hacerlo.

 

Si os instalais a modo prueba un ps1.4 veréis la diferencia entre el htaccess normal y lo que tenéis vosotros.

 

Hasta luego ;)

Link to comment
Share on other sites

Vuestro htaccess no está bien generado. Sólo tenéis instrucciones para imágenes, para mejora de la caché, y poco más. No tenéis ni una sola instrucción para renombrar categorías ni páginas del cms.

 

Me voy a poner el prestashop 1.5 que creo que es el que tenéis ambos, y os digo mis resultados.

 

En ps 1.4 no usa el rewritebase con una regla E= y cada instrucción lleva consigo el directorio añadido en la regla. Tal vez, si no funciona el con {ENV:REWRITEBASE} podáis reescribir las reglas añadiendo el directorio a mano.

Usando un programa que sustituya {ENV:REWRITEBASE} por /midir/ podréis hacerlo.

 

Si os instalais a modo prueba un ps1.4 veréis la diferencia entre el htaccess normal y lo que tenéis vosotros.

 

Hasta luego ;)

 

El .htaccess que se genera en Prestashop 1.5 es diferente al de Prestashop 1.4, si instalas Prestashop 1.5 veras que te genera un .htaccess muy parecido al mencionado antes, a mi me funciona correctamente.

Edited by Rubalcaba (see edit history)
Link to comment
Share on other sites

Rubalcaba -> Si señor, acabo de ponerme el 1.5.3.1 recien cocinado y veo que maneja el htaccess de distinta manera.

Veo que lo gestiona con dispatcher. En vez de leer cada una, simplemente captura y procesa. (por no fijarme no lo ví)

Gracias.

 

A lo mejor es mucho adivinar... pero creo que ambos habéis rellenado el campo url amigable para el item INDEX en el apartado URL&SEO

 

Yo he probado y si pongo cualquier cosa en url amigable para él casca estrepitósamente.

Viene en blanco y por lo visto en blanco se va a quedar :)

 

¿me podéis confirmar si me funka bien la bola de cristal?

 

Si eso no es, no puedo hacer más. He probado 1.5 y funciona perfectamente el htaccess.

Haced una instalción nueva, limpia, sin tocar nada. Entráis a SEO&URL y sólo habilitad la opcion URL amigables.

Guardar y probar con UN NAVEGADOR DISTINTO o bien BORRANDO todo el contenido temporal.

 

Si después de eso os sigue fallando en el cambio de idioma para el home no tengo solución para vosotros ni mucho más que mirar ** :(

El archivo htaccess es correcto según se crea al darle a guardar.

 

Si tocamos el campo url para un idioma se autorrellena para los demás, así que hay que borrarlas uno a uno :S

 

Comentadme a ver...

Link to comment
Share on other sites

Hola,

Yo tan solo he puesto a pelo la linea con RewritewBase / en .htaccess

El resto lo hago desde la opcion SEO&URL de prestashop.

Lo curioso es que me funciona en local igual que en host.

Me da "página no disponible 404" cuando cambio de idioma en el inicio.

He habilidato en http://www.diorel.es los idiomas para que veais el error.

Si entrais a alguna página ya se cambia el idioma sin problema.

También es curioso que me diga: Su. Htaccess debe tener permiso de escritura cuando habilito los idiomas.

Un saludo

Edited by varishop (see edit history)
Link to comment
Share on other sites

Gracias por el interes :)

En su día en el hilo que abrí yo al respecto, http://www.prestashop.com/forums/topic/221521-error-404-en-pagina-de-inicio-cuando-cambio-de-idioma/page__p__1102055#entry1102055, me comentaron lo mismo que Wippa, lo de dejar en blanco la pag. index en la pantalla de las URL amigables, pero a mi no me permite borrarla. Si la dejo en blanco me dice que la escritura no es correcta y no me la actualiza.

Descarto lo de reinstalar desde cero la tienda otra vez, porque tengo demasiadas modificaciones hechas y estoy a punto de sacarla a la web.

¡Gracias de nuevo!

Saludos

Link to comment
Share on other sites

Nupani. Entra por phpmyadmin a ps_meta_lang y edita manualmente todos los que tienen id_meta 4.

Verás que hay una entrada por cada idioma y por si las moscas, lée lo que pone por si no fuera el mismo id. (Con ver el español y editar los del mismo id vale)

 

El warning al editar lo hace el prestashop como script, en este caso, creo que por javascript. (Lo mismo deshabilitándolo se pueda hacer vía navegador... lo que no sé es si irá la página... no he probado)

 

Si entras por phpmyadmin no hay más que editar a voluntad.

Respecto por qué Varisop puede y tú no, es casi con seguridad porque la versión de Varishop es la última o más nueva que la tuya y lo hayan corregido. Yo me puse la última y no dá error al dejar el campo en blanco.

 

Respecto al error en sí, he jugado un rato con él y no he sacado nada en claro.

Si quisíerais usar la url amigable en index conmigo no contéis XD

 

PD. Tengo una bola de cristal cojonuda :)

Edited by wippa (see edit history)
Link to comment
Share on other sites

Wippa, perdona mi tardanza en contestar. Es que estoy termiando de subir productos y estoy colapsada :(

La versión que tengo es la 1.5.3.1 No sé si será la última ó no.

Lo de editar el ps_meta_lang no me queda claro. No sé cómo tengo que editar y para qué, los que tienen id_meta 4.

Lo siento, no tengo mucha idea sobre SQL y no se cómo pueda afectar al resto de la web.

Un millón de gracias por contestar

Un saludo

Link to comment
Share on other sites

  • 2 weeks later...

Wippa, perdona mi tardanza en contestar. Es que estoy termiando de subir productos y estoy colapsada :(

La versión que tengo es la 1.5.3.1 No sé si será la última ó no.

Lo de editar el ps_meta_lang no me queda claro. No sé cómo tengo que editar y para qué, los que tienen id_meta 4.

Lo siento, no tengo mucha idea sobre SQL y no se cómo pueda afectar al resto de la web.

Un millón de gracias por contestar

Un saludo

 

Si no te deja poner un campo vacío, más fácil que editarlo vía phpmyadmin te puede ser el borrarlo directamente y crearlo de nuevo, aunque me temo que si no te deja editarlo a blanco, tal vez no te deje tampoco crearlo en blanco. No tiene por qué ser así, pero es que no entiendo por qué tu versión no te deja.

 

Para crearla de nuevo, das al + ese verde y elige index de nuevo. Intenta guardarlo sin escribir nada, y si te deja, edita las que necesites, como title y description, que son importantes.

 

Si tampoco puedes borrarlo y crearlo de nuevo, siempre podrás editarlo a mano desde phpmyadmin. La tabla donde está escrito es ps_meta_lang

Link to comment
Share on other sites

¡¡¡Por fin!!! Muchísimas gracias Wippa. Tu solución ha funcionado perfectamente. Ahora ya se puede pasar de un idioma a otro sin problema.

Te estoy muy agradecida. Lanzaré la web en español, en principio porque no había querido adelantar por ese lado sin tener la redirección resuelto, pero ahora ya me puedo poner con el inglés.

Doy el tema por solucionado

Link to comment
Share on other sites

  • 1 month later...

He activado las URL´s amigables y se pierden las referencias a los productos, pero si las deshabilito, la tienda funciona perfectamente. Consulte con la gente de mochahost, que es mi proveedor, y afirma que tiene activado el modulo de reescritura de URL. su respuesta fue esta...

 

"Hello, The URL rewrite option is enabled, but you will need to use IIS version of this feature via the web.config file."

 

Me podrian ayudar con este tema?

 

mi tienda es www.xtremebusters.co... le deje la URLs amigables habilitadas para que puedan ver el problema...

 

Saludos

Link to comment
Share on other sites

Buenas,

 

Acabo de tener el mismo problema y la solución para mi ha sido muy fácil. Para mi fue un tema de permisos.

 

Cuando seleccionas la opción "URL amigables" o crea el archivo .htaccess. He creado yo uno en el FTP y le he dado permisos. He vuelto a activar la opción y sin problemas...

 

Saludos

Link to comment
Share on other sites

Buenas,

 

Acabo de tener el mismo problema y la solución para mi ha sido muy fácil. Para mi fue un tema de permisos.

 

Cuando seleccionas la opción "URL amigables" o crea el archivo .htaccess. He creado yo uno en el FTP y le he dado permisos. He vuelto a activar la opción y sin problemas...

 

Saludos

 

Hola alfupe...

 

Gracias por tu aporte... donde encuentro dicho archivo??? por favor regalame una copia de tu archivo .htaccess a [email protected]

 

Gracias

Link to comment
Share on other sites

Si quieres te envío mi .htaccess, pero antes te propongo que trates de seguir los pasos que puse antes:

 

1. Entra en tu FTP

2. Crea un archivo en blanco y llámalo .htaccess

3. Dale permisos de lectura y escritura (yo le di 777, no sé si será una burrada lo que he hecho)

4. Entra en el BOffice y activa las URL amigables

5. ¿se solucionó? a mi sí, a la primera

6. Suerte! :)

 

EDITO: Puede que no para todos sea obvio decir que un archivo que empieza por punto como es el caso de .htaccess puede no verse en un cliente de FTP al ser un archivo invisible. Debes emplear un cliente de correo que te muestre los archivos invisibles, si no, al crearlo "desaparecerá"...

Edited by alfupe (see edit history)
Link to comment
Share on other sites

Si quieres te envío mi .htaccess, pero antes te propongo que trates de seguir los pasos que puse antes:

 

1. Entra en tu FTP

2. Crea un archivo en blanco y llámalo .htaccess

3. Dale permisos de lectura y escritura (yo le di 777, no sé si será una burrada lo que he hecho)

4. Entra en el BOffice y activa las URL amigables

5. ¿se solucionó? a mi sí, a la primera

6. Suerte! :)

 

EDITO: Puede que no para todos sea obvio decir que un archivo que empieza por punto como es el caso de .htaccess puede no verse en un cliente de FTP al ser un archivo invisible. Debes emplear un cliente de correo que te muestre los archivos invisibles, si no, al crearlo "desaparecerá"...

 

Hola Alfupe...

 

seguí los pasos que me indicaste, pero aun así sigue sin funcionar

Link to comment
Share on other sites

Hola, hace días tengo una instalación de ps1.5.4.0 y cuando activo url amigables al cambiar de idioma aparece Pagina no disponible Error 404.

 

Probé varias cosas de este post y aún no consigo que funcione.

 

Por las dudas y para probar, estoy testeando una instalación nueva, con la plantilla default, sin agregar ni modificar nada solo activando las url amigables y sin ninguna cosa en el index de url amigable de acuerdo a consejos de otros post y no funciona.

 

Probé también con una instalación en local en iguales condiciones, y al activar las url amigables pasa lo mismo.

 

Por supuesto, si desactivo las url amigables funciona sin problema

 

Ya no se que probar y no consigo ver donde esta el error.

Agradezco cualquier ayuda ya que preciso hacer funcionar la tienda.

Gracias!

Link to comment
Share on other sites

Alfupe: Sí. dar permisos 777 a un htaccess es una burrada. Dale 644 y si así no va, 666 que es lo que recomienda http://doc.prestashop.com/pages/viewpage.action?pageId=6062176#Solucióndeproblemas-¿Cómogenerarelarchivo.HtaccessconelbackofficedePrestaShop,conelfindeobtenerURLAmigable?

 

Carjimen: Si te han dicho que tienes que usar web.config file es porque tu servidor es un IIS y no un Apache como el de la mayoria por aquí, y por todos lados. (http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig). Eso significa que tu servidor no acepta el .htaccess, pero lo peor es que el web.config tiene una sintaxis totalmente distinta, así que no se muy bien por donde irá tu solución. A efectos prácticos es como si no tuvieras el mod_Rewrite, puesto que no entiende las instrucciones dadas.

 

Aquí tienes instrucciones sobre como convertir el htaccess a webconfig, desde el panel del ISS directamente (http://www.iis.net/learn/extensions/url-rewrite-module/importing-apache-modrewrite-rules). Desconozco si el Panel plesk que seguramente tendrás (de tener alguno sobre IIS) puede realizar tal tarea. Muy probablemente sea tarea de tus "amigos del hosting".

 

Maca: Probablemente tú tampoco tienes el mod_Rewrite activado.

Link to comment
Share on other sites

Gracias Wippa por tu respuesta, pero sí, el mod_Rewrite está activado. RewriteEngine on , por eso decía que no sé que probar. Te copio el .htaccess para que lo veas. Gracias.

 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution

# http://www.prestashop.com - http://www.prestashop.com/forums

 

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule . - [E=REWRITEBASE:/]

RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

 

# Images

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]

# AlphaImageLoader for IE and fancybox

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

 

# Dispatcher

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^.*$ - [NC,L]

RewriteCond %{HTTP_HOST} ^jaramys.zz.mu$

RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]

</IfModule>

 

#If rewrite mod isn't enabled

ErrorDocument 404 /index.php?controller=404

 

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

Link to comment
Share on other sites

RewriteEngine on lo que hace es activarlo, de estar disponible. El fichero no es una prueba de ello, es una instrucción y no un resultado de ninguna prueba.

 

#If rewrite mod isn't enabled

ErrorDocument 404 /index.php?controller=404 Esta línea es la que dá el error 404 al no encontrarse, de ahí mi suposición.

 

La pregunta va a ser ¿En qué servidor estás? En uno normal, de cualquier hosting lo normal es tenerlo disponible.

Si tu problema tampoco es el de haber especificado URL amigable en la página index no se me ocurre de donde vendrá el fallo.

 

¿Cuando hiciste la prueba en local disponías de mod_rewrite a ciencia cierta?

 

Haz pruebas completas.

1. Busca en google "comprobar" mod_rewrite para asegurarse.

2. Da el error en el index únicamente? Prueba desde una vista de un producto por ejemplo.

3. ¿Ninguna de esas? Pues sin más datos difícil.

 

Que te falle una instalación limpia no es normal, así que yo apuesto a que no tienes el mod_rewrite, ni en local, ni en el host que uses.

Link to comment
Share on other sites

Hola Wippa! gracias por tu respuesta!

 

Probé tu consejo de buscar el google comprobar mod_rewrite y encontré que en local no estaba habilitado y lo resolví.

En el servidor, que es Hostinger, no sé si eso es un problema, hice una nueva instalación limpia y en principio, funciona.

Y encontré algo que quizás sirva a otros, y que hacía que no funcionara urls, al agregar otro idioma, coloque en mayúsculas el código, en este caso EN y por eso no funcionaba, al cambiar a minúsculas anduvo.

 

Una pregunta, leo que todos recomiendan no colocar nada en el index, es así? lo dejo en blanco o puedo editarlo?

 

Muchas gracias por tu ayuda!

  • Like 1
Link to comment
Share on other sites

Acabo de editar meta descripción y reescritura url y cuando cambio de idioma da error.

 

Si borro, o dejo en blanco el campo Reescritura url ahí sí funciona.

 

Que estoy haciendo errado?

Link to comment
Share on other sites

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