Bonjour @romain_online,
@nicolashub a raison, le premier point à vérifier absolument est l'activation de mod_rewrite sur votre serveur Apache. Sans ce module, PrestaShop ne peut pas réécrire les URLs et vous aurez systématiquement des 404. Vous pouvez généralement vérifier cela dans le fichier de configuration Apache (httpd.conf) ou via un phpinfo() en cherchant 'mod_rewrite' dans la section 'Loaded Modules'.
Si mod_rewrite est bien activé, le problème est probablement lié à votre fichier .htaccess ou aux schémas de routage, comme le suggère @marion_bordeaux89.
Pour PrestaShop 1.7.8.1 (et les versions similaires), voici la marche à suivre :
- Assurez-vous que
mod_rewrite est activé sur votre serveur.
- Dans 'Paramètres de la boutique > Trafic & SEO', vérifiez que l'option 'URLs conviviales' est bien sur 'Oui'.
- Cliquez sur 'Sauvegarder', puis sur 'Enregistrer' pour forcer la régénération du fichier
.htaccess.
- Concernant vos schémas de routage personnalisés : le conflit entre
{rewrite} de produit et le {rewrite} de catégorie est une cause fréquente de 404. Pour un premier test, essayez de revenir aux schémas par défaut de PrestaShop pour les produits et catégories, puis de les sauvegarder. Si cela résout le problème, vous pourrez ensuite les personnaliser de manière plus graduelle en évitant les ambiguïtés. Par exemple, pour un produit, utilisez {category:/}{id}-{rewrite}.html et pour une catégorie {id_category}-{rewrite}/ pour les distinguer clairement.