Solucionar el error 'AllowOverride None' en PrestaShop con cPanel
¿Qué significa el error “AllowOverride None” en PrestaShop?
Si estás leyendo esto, es muy probable que hayas intentado activar la URL amigable en tu tienda PrestaShop y te hayas encontrado con un mensaje de error que menciona AllowOverride None. No te preocupes, es uno de los errores más comunes al trabajar con PrestaShop en un hosting con cPanel, y tiene solución.
El error AllowOverride None es una directiva de Apache que impide que los archivos .htaccess modifiquen la configuración del servidor. PrestaShop necesita que el archivo .htaccess tenga permisos para reescribir URLs, redirigir tráfico y configurar cabeceras. Si tu servidor tiene AllowOverride None, Apache ignora por completo las instrucciones de tu .htaccess, y por eso PrestaShop no puede funcionar correctamente.
En este artículo te explicaré paso a paso cómo arreglar AllowOverride None en tu hosting con cPanel, incluso si no tienes experiencia técnica. Vamos a ello.
¿Por qué ocurre el error “AllowOverride None”?
Antes de lanzarnos a la solución, es importante que entiendas por qué ocurre este problema. Hay tres causas principales:
-
Configuración del servidor: El administrador del servidor (o tu proveedor de hosting) ha configurado Apache con la directiva
AllowOverride Nonepara el directorio donde está instalado PrestaShop. Esto es habitual en servidores compartidos por razones de seguridad. -
Fichero .htaccess dañado o mal configurado: A veces el archivo
.htaccessgenerado por PrestaShop tiene errores de sintaxis o permisos incorrectos, lo que provoca que Apache lo rechace y muestre el error. -
Uso de LiteSpeed u otros servidores: Si tu hosting usa LiteSpeed en lugar de Apache, la gestión de
AllowOverridepuede comportarse de forma diferente, aunque el error siga apareciendo.
El error AllowOverride PrestaShop es especialmente molesto porque impide que tu tienda funcione correctamente: las URLs no se reescriben, las páginas dan error 404 y la tienda puede quedar inaccesible.
Requisitos previos antes de empezar
Para solucionar este problema necesitarás:
- Acceso a cPanel de tu hosting (con permisos de administrador).
- Acceso al Administrador de archivos de cPanel.
- Acceso a la opción “Editor de archivos” o al menos poder editar archivos de texto.
- Credenciales FTP (opcional, pero recomendable por si acaso).
[!TIP]
Si no tienes acceso a cPanel, contacta con tu proveedor de hosting y solicita que cambienAllowOverride NoneaAllowOverride All. Es su responsabilidad si el hosting no lo permite.
Método 1: Modificar la configuración en cPanel (la forma más fácil)
La mayoría de los hosting con cPanel permiten cambiar esta configuración desde el propio panel. Sigue estos pasos:
Paso 1: Accede al editor de configuración de Apache
- Inicia sesión en tu cPanel.
- Busca la sección “Software” o “Servicios”.
- Haz clic en “Configuración de Apache” o “Apache Handler” (el nombre puede variar según el hosting).
En algunos hosts, esta opción se llama “MultiPHP Manager” o “Select PHP Version”. Si no la encuentras, busca “Editor de archivos .htaccess” o “Configuración del servidor”.
Paso 2: Busca la directiva AllowOverride
Una vez dentro, verás un archivo de configuración similar a httpd.conf o apache.conf. Busca la sección que corresponda a tu dominio o a la carpeta donde está instalado PrestaShop (normalmente public_html).
Deberías ver algo como esto:
<Directory /home/usuario/public_html>
AllowOverride None
</Directory>
Paso 3: Cambia “None” por “All”
Cambia la línea AllowOverride None por AllowOverride All. Guarda los cambios.
[!WARNING]
Si no encuentras esta opción en cPanel, no intentes editarhttpd.confdirectamente desde el Administrador de archivos. Podrías romper la configuración del servidor. En ese caso, contacta con soporte.
Paso 4: Reinicia Apache
Algunos paneles reinician Apache automáticamente al guardar. Si no lo hace, busca el botón “Reiniciar Apache” o “Restart” en cPanel.
Una vez hecho esto, vuelve a PrestaShop y activa la URL amigable. El error AllowOverride None debería desaparecer.
Método 2: Crear o modificar el archivo .htaccess manualmente
Si el método anterior no funciona, es posible que el problema esté en el propio archivo .htaccess. PrestaShop genera uno automáticamente, pero a veces se corrompe o no se crea correctamente.
Paso 1: Accede al Administrador de archivos
- Entra en cPanel.
- Ve a “Administrador de archivos”.
- Navega hasta la carpeta donde está tu tienda (normalmente
public_html).
Paso 2: Busca el archivo .htaccess
Activa “Mostrar archivos ocultos” (arriba a la derecha). Deberías ver un archivo llamado .htaccess. Si no existe, tendrás que crearlo.
Paso 3: Crea o reemplaza el .htaccess
Si el archivo existe, haz clic derecho y selecciona “Editar”. Si no existe, crea un nuevo archivo llamado .htaccess y pégalo con el siguiente contenido básico:
# START PrestaShop
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^tudominio.com [NC]
RewriteRule ^(.*)$ https://www.tudominio.com/$1 [L,R=301]
</IfModule>
# END PrestaShop
[!INFO]
Cambiatudominio.compor tu dominio real. Si usas HTTP en lugar de HTTPS, ajusta la URL en consecuencia.
Paso 4: Asegura los permisos correctos
El archivo .htaccess debe tener permisos 644. Para cambiarlos, haz clic derecho sobre el archivo y selecciona “Permisos”. Introduce 644 y guarda.
Paso 5: Genera el .htaccess desde PrestaShop
La forma más fiable de que PrestaShop cree su propio .htaccess es:
- Ve a Back Office > Parámetros avanzados > Rendimiento.
- Activa la opción “Reescribir URLs” (URL amigable).
- Haz clic en “Guardar”.
PrestaShop generará automáticamente el .htaccess correcto. Si sigue sin funcionar, repite el proceso y revisa los permisos.
Método 3: Solucionar con LiteSpeed (si tu hosting lo usa)
Muchos hostings usan LiteSpeed en lugar de Apache. Aunque el error diga AllowOverride None, el problema puede estar en la configuración de LiteSpeed.
Paso 1: Accede a la configuración de LiteSpeed
En cPanel, busca “LiteSpeed Web Server” o “LSWS”. Si no lo encuentras, contacta con soporte.
Paso 2: Cambia la directiva
Dentro de la configuración, busca la sección de “Contextos” o “Vhosts” y localiza tu dominio. Cambia AllowOverride None por AllowOverride All.
[!WARNING]
LiteSpeed es más restrictivo que Apache. Si no te atreves a tocar estos ajustes, contacta con tu proveedor. Es mejor que un experto lo haga.
Método 4: Solución definitiva con un archivo .htaccess personalizado
Si ninguno de los métodos anteriores funciona, puedes forzar la reescritura de URLs con un .htaccess más completo. Este es el que PrestaShop suele generar:
# START PrestaShop
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^tudominio.com [NC]
RewriteRule ^(.*)$ https://www.tudominio.com/$1 [L,R=301]
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ webservice/dispatcher.php [QSA,L]
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[a-z0-9]+)?/?([a-z0-9]+)?/?$ index.php?controller=$1&id=$2 [QSA,L]
</IfModule>
# END PrestaShop
[!TIP]
Si tu tienda está en una subcarpeta (por ejemplo,public_html/tienda), añadeRewriteBase /tienda/después deRewriteEngine on.
¿Qué hacer si nada funciona? Contactar con soporte
Si después de todos estos pasos el error AllowOverride None persiste, es hora de contactar con tu proveedor de hosting. Explícales que necesitas que Apache (o LiteSpeed) permita AllowOverride All en el directorio de tu PrestaShop.
La mayoría de los hostings de calidad lo habilitan sin problema, pero algunos servidores compartidos muy restrictivos lo bloquean por seguridad. En ese caso, tendrás dos opciones:
- Cambiar de hosting a uno que permita esta configuración.
- Usar un servidor VPS o dedicado donde tengas control total.
Preguntas frecuentes (FAQ)
¿Este error afecta solo a PrestaShop?
No. También afecta a WordPress, Joomla, Magento y cualquier CMS que dependa de .htaccess. Sin embargo, PrestaShop es especialmente sensible porque necesita reescribir URLs para el SEO.
¿Puedo eliminar el archivo .htaccess?
No. PrestaShop necesita ese archivo para funcionar correctamente. Si lo eliminas, perderás las URLs amigables y podrías romper la tienda.
¿Qué es exactamente AllowOverride?
Es una directiva de Apache que define qué directivas del .htaccess pueden sobrescribir la configuración global del servidor. Si es None, el .htaccess se ignora por completo.
¿Cómo sé si mi hosting usa LiteSpeed o Apache?
En cPanel, consulta la sección “Información del servidor” o “Estadísticas”. También puedes usar herramientas online como WhatWeb o BuiltWith.
¿Es peligroso cambiar AllowOverride None a All?
No es peligroso en sí, pero reduce la seguridad del servidor. Un .htaccess mal configurado podría provocar errores 500. Por eso es recomendable hacer una copia de seguridad antes de modificar nada.
Conclusión
El error AllowOverride None en PrestaShop es frustrante, pero tiene solución. Ya sea modificando la configuración de Apache desde cPanel, editando el .htaccess manualmente o contactando con tu proveedor, hay varias vías para arreglarlo.
Recuerda siempre:
- Haz copias de seguridad antes de tocar nada.
- Si no te sientes seguro, contacta con soporte técnico.
- Prueba primero los métodos más sencillos (cPanel) antes de tocar archivos de configuración.
Con paciencia y siguiendo estos pasos, tu tienda PrestaShop volverá a funcionar con URLs amigables y SEO optimizado.
[!INFO]
Si tu hosting usa Syspanel (antes conocido como HestiaCP), ten en cuenta que el acceso se realiza a través del puerto 2106. En ese caso, el proceso de configuración es diferente y deberías contactar con el soporte de Syspanel para ajustarAllowOverride.
Espero que este artículo te haya sido de ayuda. Si te ha funcionado, compártelo con otros usuarios que estén lidiando con el mismo problema. ¡Buena suerte con tu tienda online!
