Jump to content

SOLUCIONADO Error 500 y 404 - configurar archivo htaccess (Necesito ayuda)


Yosoyyo

Recommended Posts

La tienda funcionaba correctamente, pero, hoy al elegir qué idiomas no quiero que aparezcan, destildándolos, de repente la tienda me ha dado este error:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@midominio to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

He pasado a la compañía del hosting el siguiente artículo:

http://www.prestashop.com/blog/en/the-500-internal-server-error-explained-solved/

 

Primero me han desactivado el archivo .htaccess y se ha visualizado la tienda, pero al volver a intentar desactivar varios idiomas, vuelve a aparecer el mismo error. Los del Hosting me hancreado un segundo archivo .htacess y ha pasado lo mismo. 

 

No entiendo cómo al principio anteayer puedo estar configurando sin ningún problema y hoy me encuentro con ésto. 

 

Ah, el tiempo de ejecución ya lo tengo a 120 y los permisos de las carpetas son correctos.

 

Total, la compañía del Hosting dice que os pregunte ¿cómo debe estar configurado el archivo htacess para que funcione correctamente con Prestashop? Porque es como si Prestashop esstuviera intentando crear  cambios en el archivo htaccess.

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

He probado de hacer lo del vídeo. Borrando los dos archivos que tenían que me había dejado los del Hosting (antes me he cuardado una copia) htaccess-bak y htaccess-bak2. Pero no se me visualiza ni en BackOffice ni el FrontOficce y se ha creado solo el archivo .htaccess con la siguiente información

# ~~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>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.MIDOMINIO$
RewriteRule . - [E=REWRITEBASE:/CARPETADEMITIENDA/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^www.MIDOMINIO$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /CARPETADEMITIENDA/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

¿Qué debo hacer?

Link to comment
Share on other sites

Siguiendo este artículo:

 

http://nemops.com/debug-prestashop-error-500/

 

So, just head to config/ and open up defines.inc.php. Then, set _PS_MODE_DEV_ to TRUE as shown below

1
2
3
define('_PS_MODE_DEV_', true);
define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);

It should be at line 28.

He sustituído la línea donde dice 

 _PS_MODE_DEV_ to TRUE

por


1 define('_PS_MODE_DEV_', true);
2 define('_PS_DEBUG_PROFILING_', false);
3 define('_PS_MODE_DEMO_', false);

 Y ahora se visualiza el error, dice:

Notice: Constant _PS_DEBUG_PROFILING_ already defined in /config/defines.inc.php on line 47

Notice: Constant _PS_MODE_DEMO_ already defined in /config/defines.inc.php on line 48

Warning: Cannot modify header information - headers already sent by (output started at /config/defines.inc.php:47) in /classes/controller/AdminController.php on line 1229
Link to comment
Share on other sites

A ver... copio cada ínea.

 

/config/defines.inc.php on line 47

define('_PS_DEBUG_PROFILING_', false);

/config/defines.inc.php on line 48

define('_PS_MODE_DEMO_', false);

/classes/controller/AdminController.php on line 1229

header('Location: '.$this->redirect_after);

¿Qué tengo que hacer?

Link to comment
Share on other sites

Adjunto foto de lo que me aparece en el BackOfiice, creo que es el motivo al problema que tengo del error 500, porque a veces si borro el archivo .htaccess, vuelve a visualizarse la web y a veces vuelve a irse. 

 

Deduzco que el problema está en que no se puede reescribir automáticamente el archivo .htaccess y debo configurar esta opción de páginas amigables.

 

¿Qué tengo que hacer para subsanar el error que aparece en amarillo en la foto?

post-740729-0-46422900-1388062159_thumb.jpg

Link to comment
Share on other sites

Estoy intentando solucionarlo con el siguiente hilo http://www.prestashop.com/forums/topic/190579-reescritura-de-direcciones-url-mod-rewrite-15/

 

Me pasa esto. Tengo activado el mod_rewrite, pero me da error 500

 

Intento seguir el consejo de supraonline que es éste:

 

Cambiar lo siguiente:

Override/classes/tools.php

Sobre escribir esto:

 

<?php

class Tools extends ToolsCore
{
public static function apacheModExists($name)
{
return true;
}
}

?> 

Pero... no me aparece el archivo tools.php en las carpetas que indica ¿Dónde está en la versión 1.5.6.0?

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

Mmm... no lo entiendo, porque en el archivo .htaccess tengio activado el mod_rewrite así:

<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine on

Los del Hosting me dicen que Prestashop debe tener algún plugin que me da error.

Link to comment
Share on other sites

 

Siguiendo este artículo:

 

http://nemops.com/debug-prestashop-error-500/

 

So, just head to config/ and open up defines.inc.php. Then, set _PS_MODE_DEV_ to TRUE as shown below

1
2
3
define('_PS_MODE_DEV_', true);
define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);

It should be at line 28.

He sustituído la línea donde dice 

 _PS_MODE_DEV_ to TRUE

por


1 define('_PS_MODE_DEV_', true);
2 define('_PS_DEBUG_PROFILING_', false);
3 define('_PS_MODE_DEMO_', false);

 Y ahora se visualiza el error, dice:

Notice: Constant _PS_DEBUG_PROFILING_ already defined in /config/defines.inc.php on line 47

Notice: Constant _PS_MODE_DEMO_ already defined in /config/defines.inc.php on line 48

Warning: Cannot modify header information - headers already sent by (output started at /config/defines.inc.php:47) in /classes/controller/AdminController.php on line 1229

 

 

Comentas que tras habilitar el reporte de errores: (http://www.prestashop.com/forums/topic/232477-%C2%BFqu%C3%A9-hacer-cuando-se-queda-la-pantalla-en-blanco-en-prestashop/) ¿Te han salido esos errores?

 

¿Pero esos errores te salen siempre, siempre?

 

¿Es que tienes dos veces duplicada esta linea:

define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);

en el defines.inc.php?

 

¿Y dices que si desactivas las urls amigables puedes navegar con normalidad?

 

¿Tu hosting te ha confirmado que tiene habiltado el mod_rewrite, (la activacion del mod_rewrite termina dependiendo del hosting) ?

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

Comentas que tras habilitar el reporte de errores: (http://www.prestashop.com/forums/topic/232477-¿qué-hacer-cuando-se-queda-la-pantalla-en-blanco-en-prestashop/) ¿Te han salido esos errores?

 

¿Pero esos errores te salen siempre, siempre?

 

¿Es que tienes dos veces duplicada esta linea:

define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);
en el defines.inc.php?

 

¿Y dices que si desactivas las urls amigables puedes navegar con normalidad?

 

¿Tu hosting te ha confirmado que tiene habiltado el mod_rewrite, (la activacion del mod_rewrite termina dependiendo del hosting) ?

 

He probado de hacer lo del vídeo. Borrando los dos archivos que tenían que me había dejado los del Hosting (antes me he cuardado una copia) htaccess-bak y htaccess-bak2. Pero no se me visualiza ni en BackOffice ni el FrontOficce y se ha creado solo el archivo .htaccess con la siguiente información

# ~~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>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.MIDOMINIO$
RewriteRule . - [E=REWRITEBASE:/CARPETADEMITIENDA/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^www.MIDOMINIO$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /CARPETADEMITIENDA/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
¿Qué debo hacer?

 

Indicar tambien que si activas las urls amigables y te genera solo ese .htaccess no es completo, deberia tener mas lineas con las urls activadas en el panel de la tienda.

 

------------------------

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

Gracias Sergio. Te cuento...

 

Después de muchas horas he encontrado un código para el archivo .htaccess que me semi funciona, es el siguiente:

# enable symbolic links
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
</IfModule>

# ~~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>

# Disable Multiviews
Options -Multiviews

RewriteEngine on

RewriteRule ^api/?(.*)$ webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.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$ 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.yourwebsite.com$
RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-\.*]*)(-[0-9]+)?/.+\.jpg$ img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ 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.yourwebsite.com$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com$
RewriteRule ^.*$ 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

<IfModule mod_rewrite.c>
RewriteRule ^youtube/(.*)$ http://www.youtube.com/$1 [L]
</IfModule>

He copiado este códeigo tal cual al archivo .htaccess y he substituído el valor

www.yourwebsite.com

Por el dominio de mi web

 

y el valor 

ErrorDocument 404 /index.php?controller=404

por

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

En mi caso la página principal no es el archivo index.php de Prestashop, sino un archivo html, o sea que la web que estoy trabajando es

 

dominioweb/carpetatiendaPrestashop/index.php

 

Por lo que no acabo de saber adaptar el código encontrado a mi necesidad.

 

Ahora con los cambios hechos, puedo visualizar la tienda pero dando el siguiente error:

 

Página no disponible

Lo sentimos, la página no se encuentra disponible.

Para buscar un artículo, por favor, indique su nombre en el siguiente campo:

Busque en nuestra tienda:

 

Te copio el código que se me genera por defecto en el archivo .htaccess, para que puedas decirme qué línea más debo adaptar en el nuevo código encontrado. Por ejemplo 

# ~~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>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.midominio.com$
RewriteRule . - [E=REWRITEBASE:/carpetaquecontieneprestashop/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^www.midominio.com$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ 

js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /carpetaquecontieneprestashop/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

El código que me da por defecto el .htaccess del RewriteRule es:

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

Pero en el código que he encontrado no aparece ¿podría añadir ese código? pero ¿dónde?

Link to comment
Share on other sites

O sea, con he realizado con el código éste que he encontrado:

 

1.- Visualizo el BackOffice de la tienda, que antes no podía

2.- El FrontOffice aparece sólo mostrando la parte superior de la tienda y señalando el error 404

 

Gracias por tu ayuda, Sergio.

Link to comment
Share on other sites

O sea, con he realizado con el código éste que he encontrado:

 

1.- Visualizo el BackOffice de la tienda, que antes no podía

2.- El FrontOffice aparece sólo mostrando la parte superior de la tienda y señalando el error 404

 

Gracias por tu ayuda, Sergio.

 

¿Cuando desactivas y  vuelves activar las urls amigables  en la pestaña Preferencias -> SEO y URLS solo te genera el segundo bloque de codigo que me has pasado?

Link to comment
Share on other sites

¿Cuando desactivas y  vuelves activar las urls amigables  en la pestaña Preferencias -> SEO y URLS solo te genera el segundo bloque de codigo que me has pasado?

 

Sí, el código corto es el que me salía sólo antes de encontrar el nuevo código para el archivo .htaccess

Link to comment
Share on other sites

Sí, el código corto es el que me salía sólo antes de encontrar el nuevo código para el archivo .htaccess

 

Pues si comentas que tienes los permisos correctos de los ficheros, al activar las urls amigables te deberia regenerar el .htaccess de forma completa y automatica sin tener tu que editar nada. (a mi siempre me lo ha generado correcto con todas sus lineas) y no incompleto.

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

1.- Mmm... Ahora al refrescar el FrontOffice lo que sale es lo que te he comentado antes:

 

Ahora he refrescado y en la direc dominio.com/carpetadeprestashop/index.php al entrar aparece el siguiente error

 

[Debug] This page has moved
Please use the following URL instead: http://www.dominio.c...tadeprestashop/

 

Y al clicar en la dirección se abre bien el FrontOffice, pero no se ven las fotos de los productos.

 

Tengo que conseguir que se abra directamente y no aparte y que se vean las fotos de los productos.

Link to comment
Share on other sites

Ahora si vuelvo a refrescar me da el error de antes:

 

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@midominio to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

 

 

No lo entiendo  :blink:, llevo todo el día con esto.

 

¿Cómo puedo acceder al server error log?

Link to comment
Share on other sites

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