Prestashop web services erreur 404

Bonjour, j'essaye d'utiliser les web services de prestashop mai j'ai je reçois toujours une erreur 404.
Pourtant la redirection le rewrite d'url fonctionne.
D'après un post du même problème sur le forum prestashop, la solution serait d'activer la directive d'Apache "AllowOverride All".
Question : à quel endroit dans un serveur OVH mutualisé peut-on activer cette directive, si c'est possible de le faire ?
Merci d'avance.

Bonjour @OLIVIERS50

Quel domaine ?


D'après un post du même problème sur le forum prestashop, la solution serait d'activer la directive d'Apache "AllowOverride All".
Question : à quel endroit dans un serveur OVH mutualisé peut-on activer cette directive, si c'est possible de le faire ?

Il me semble que cela doit être dans les réglages de Prestashop.

Bonjour, le domaine eurotex66.fr, quels réglages dans prestashop ?
Dans SEO&URL, j'ai: URL simplifiée (oui), Rediriger automatiquement…canonique (non), Désactiver…Multiview (non).
Sur le 1er item: URL simplifiée: il y le warning: Le mode de réécriture d'URL (mod_rewrite) n'est pas activé sur votre serveur, ou il est impossible de vérifier la configuration.
Je pense que le url rewrite fonctionne.
Merci d'avance


eurotex66.fr

Bonjour @OLIVIERS50

Sur https://www.eurotex66.fr



J'ai une navigation très rapide et fluide.

Vide le cache de ton navigateur,
Teste avec un autre navigateur et sur ton Smartphone.

Par contre il faut que dans le fichier /www/.htaccess tu fasses une redirection automatique.

Dans mon guide :
Paragraphe : M - WordPress - **Pour finir redirection de http vers https**

**__________________________________________________________________________________**


Voici un petit guide que j'ai écrit et qui pourrait vous apporter des éclaircissements.

**************************************************************************************************
* **Guide - Comprendre la Relation Domaine > Zone DNS > Hébergement > Dossier du site** *
**************************************************************************************************

Voir --> **https://www.wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm">CMS - WordPress - Guide Installation chez OVH**
Contrôler votre situation en suivant **attentivement** les paragraphes : **A** à **J**

_N'hésitez pas à me faire un retour : positif ou négatif._
_C'est comme cela que je peaufine mon Guide._

_Si ce guide vous a bien aidé, n'hésitez pas à cliquer sur le bouton « j'aime »_

Mon problème est que je voudrais utiliser les web services dans prestashop.
Quand j'exécute cette requête "http://ma_cle@eurotex66.fr/api/" en http ou https, j'obtiens un 404 page introuvalble (http://www.eurotex66.fr/api/?controller=404).
D'après le .htaccess:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.eurotex66.fr$
RewriteRule . - https://www.prestashop.com/forums/topic/206567-resolu-probl%C3%A8me-de-r%C3%A9%C3%A9criture-durl/ E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

`#If rewrite mod isn't enabled`
` ErrorDocument 404 /index.php?controller=404`


Une des conditions du Rewrite ne fonctionne pas, d'où peut être ce même problème:
[https://www.prestashop.com/forums/topic/206567-resolu-probl%C3%A8me-de-r%C3%A9%C3%A9criture-durl/
Cependant dans la solution, il faudrait pouvoir modifier Allowoverride All dans Apache.
Je suis sur un hébergement mutualisé.
Merci d'avance.

As-tu essayé seulement cela :

Je ne pense pas que cela soit la directive Apache "AllowOverride All" qui est la source de ton problème…

J'ai essayé comme proposé:

RewriteEngine on

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]
#RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

Puis comme requête:
https://ma_cle@eurotex66.fr/api/
https://www.eurotex66.fr/webservice/dispatcher.php
J'ai toujours Page Introuvable.

Quel serait alors la source du problème ?

Ce que je peux dire, c'est que lorsque je requête /api sur un des prestashop que j'héberge, cela me demande directement une identification.
Sur le tiens c'est une 404.

Pas sur que cela soit le bon endroit pour ton problème. Tu as demandé sur un forum Prestashop ?

Oui, j'ai posé la question sur Prestashop, ils m'ont proposer de demander sur le forum OVH.
Pourrais-tu me montrer ton .htaccess ?

Bonjour,

avez-vous essayé de régénérer votre .htaccess en désactivant/activant l' API à nouveau ?

Cordialement, janus57

Bonjour, oui. Pourriez-vous me montrer un .htaccess qui fonctionne chez vous ?
Cdt,

    <br />      RewriteEngine On<br />      RewriteCond %{DOCUMENT_ROOT}/error_503.html -f<br />      RewriteCond %{DOCUMENT_ROOT}/maintenance.oui -f<br />      RewriteCond %{SCRIPT_FILENAME} !error_503.html<br />      RewriteRule ^.*$ /error_503.html [R&#61;503,L]<br />      ErrorDocument 503 /error_503.html<br />      Header Set Cache-Control &#34;max-age&#61;0, no-store&#34;<br />    <br /><br />    # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again<br />    # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution<br />    # http://www.prestashop.com<br /><br />    <br />    <br />    SetEnv HTTP_MOD_REWRITE On<br />    <br /><br />    RewriteEngine on<br /><br />    RewriteRule . - [E&#61;REWRITEBASE:/]<br />    RewriteRule ^api$ api/ [L]<br /><br />    RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url&#61;$1 [QSA,L]<br /><br />    # Images<br />    RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]<br />    RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]<br />    RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]<br />    RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]<br />    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]<br />    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]<br />    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]<br />    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]&#43;)?/.&#43;\.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]<br />    RewriteRule ^c/([0-9]&#43;)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]<br />    RewriteRule ^c/([a-zA-Z_-]&#43;)(-[0-9]&#43;)?/.&#43;\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]<br />    # AlphaImageLoader for IE and fancybox<br />    RewriteRule ^images_ie/?([^/]&#43;)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]<br /><br />    # Dispatcher<br />    RewriteCond %{REQUEST_FILENAME} -s [OR]<br />    RewriteCond %{REQUEST_FILENAME} -l [OR]<br />    RewriteCond %{REQUEST_FILENAME} -d<br />    RewriteRule ^.*$ - [NC,L]<br />    RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]<br />    <br /><br />    AddType application/vnd.ms-fontobject .eot<br />    AddType font/ttf .ttf<br />    AddType font/otf .otf<br />    AddType application/x-font-woff .woff<br />    <br />    	<br />    		Header set Access-Control-Allow-Origin &#34;*&#34;<br />    	<br />    <br /><br />    <br />    	ExpiresActive On<br />    	ExpiresByType image/gif &#34;access plus 1 month&#34;<br />    	ExpiresByType image/jpeg &#34;access plus 1 month&#34;<br />    	ExpiresByType image/png &#34;access plus 1 month&#34;<br />    	ExpiresByType text/css &#34;access plus 1 week&#34;<br />    	ExpiresByType text/javascript &#34;access plus 1 week&#34;<br />    	ExpiresByType application/javascript &#34;access plus 1 week&#34;<br />    	ExpiresByType application/x-javascript &#34;access plus 1 week&#34;<br />    	ExpiresByType image/x-icon &#34;access plus 1 year&#34;<br />    	ExpiresByType image/svg&#43;xml &#34;access plus 1 year&#34;<br />    	ExpiresByType image/vnd.microsoft.icon &#34;access plus 1 year&#34;<br />    	ExpiresByType application/font-woff &#34;access plus 1 year&#34;<br />    	ExpiresByType application/x-font-woff &#34;access plus 1 year&#34;<br />    	ExpiresByType application/vnd.ms-fontobject &#34;access plus 1 year&#34;<br />    	ExpiresByType font/opentype &#34;access plus 1 year&#34;<br />    	ExpiresByType font/ttf &#34;access plus 1 year&#34;<br />    	ExpiresByType font/otf &#34;access plus 1 year&#34;<br />    	ExpiresByType application/x-font-ttf &#34;access plus 1 year&#34;<br />    	ExpiresByType application/x-font-otf &#34;access plus 1 year&#34;<br />    <br /><br />    <br />    	Header unset Etag<br />    <br />    FileETag none<br />    <br />    	<br />    		AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript font/ttf application/x-font-ttf font/otf application/x-font-otf font/opentype image/svg&#43;xml<br />    	<br />    <br /><br />    #If rewrite mod isn&#39;t enabled<br />    ErrorDocument 404 /index.php?controller&#61;40

Bonjour et merci.
J'ai remplacé texto le htacces par le vôtre, mais hélàs ça ne change rien j'ai toujours ce 404.
Pourtant j'ai bien les webservices d'activés avec une clé, cf. image


Et dans SEO&URL j'ai toujours le message d'avertissement "général" que le module de réécriture d'URL n'est pas activé…

Mes connaissances dans cet environnement sont limitées.
Accepteriez-vous de passer un peu de temps avec moi sur le pb ? Voire même prestation…
Cdt,

J'ai trouvé le problème: le script dispatcher.php n'était pas dans le bon dossier webservice mais à la racine. Après l'avoir déplacé, j'ai bien l'invite de la clé quand j'accède à l'URL xxxx/api.
Ca fonctionne à présent.