2016-10-17 5 views
0

Я пытаюсь запустить веб-сервис из сценария в prestashop (пример приведен в списке клиентов). Я получаю сообщение об ошибке:Ошибка Prestashop webservice 404

HTTP REQUEST HEADER 
GET //api/customers&ws_key=57IGC8CC1HPC58U865KP7YNPWK1G4LSC HTTP/1.1 
Authorization: Basic NTdJR0M4Q0MxSFBDNThVODY1S1A3WU5QV0sxRzRMU0M6 
Host: edentalbook.com 
Accept: */* 

HTTP RESPONSE HEADER 
HTTP/1.1 404 Not Found 
Date: Mon, 17 Oct 2016 10:11:08 GMT 
Server: Apache 
Access-Control-Max-Age: 1000 
Access-Control-Allow-Headers: X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding 
Access-Control-Allow-Credentials: true 
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT 
Content-Length: 320 
Content-Type: text/html; charset=iso-8859-1 
RETURN HTTP BODY 
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>404 Not Found</title> 
</head><body> 
<h1>Not Found</h1> 
<p>The requested URL /api/customers&amp;ws_key=57IGC8CC1HPC58U865KP7YNPWK1G4LSC was not found on this server.</p> 
<hr> 
<address>Apache Server at edentalbook.com Port 80</address> 
</body></html> 
Bad ID 

Я протестировал сервер (я установил новый prestashop) и работает без проблем. Поэтому я предполагаю, что это проблема конфигурации preashop. Также я включил дружественные URL-адреса, htaccess

Любые идеи? Спасибо

Отредактировано: Возможно, это вопрос URL Rewrite, потому что, если я иду с сервера http://edentalbook.com/webservice/dispatcher.php прекрасно работает я прикрепить файл Htaccess

# ~~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> 
<IfModule mod_env.c> 
SetEnv HTTP_MOD_REWRITE On 
</IfModule> 

RewriteEngine on 
RewriteCond %{HTTP:Authorization} ^(.*) 
RewriteRule . - [E=HTTP_AUTHORIZATION:%1] 



#Domain: betashop.edentalbook.com 
RewriteRule . - [E=REWRITEBASE:/] 
RewriteRule ^api$ api/ [L] 

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

# Images 
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] 
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L] 
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] 
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] 
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] 
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] 
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] 
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] 
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] 
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] 
# AlphaImageLoader for IE and fancybox 
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 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] 
</IfModule> 

AddType application/vnd.ms-fontobject .eot 
AddType font/ttf .ttf 
AddType font/otf .otf 
AddType application/x-font-woff .woff 
<IfModule mod_headers.c> 
    <FilesMatch "\.(ttf|ttc|otf|eot|woff|svg)$"> 
     Header add Access-Control-Allow-Origin "*" 
    </FilesMatch> 
</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 
+0

Have вы пытались включить CGI в backoffice? – sarcom

+0

Да. После некоторых исследований я выяснил, что если я установлю предварительное состояние в субдомене (например, sub.example.com), он работает. Если он установлен в основном домене (example.com), он не делает этого. Я применил ту же конфигурацию в обоих случаях. –

+0

Я не знаю, является ли относительным, но я только видел, что изображения не отображаются ни при активации дружественного URL-адреса. Это проблема htaccess? –

ответ

0

Это может быть проблема разрешения.

Проверьте, если вы используете suPHP Вы можете проверить, если у вас есть проблемы разрешения, проверяя журнал ошибок (он будет бросать SoftException)

Если это так, папки должны быть 755 и файлы 644

Итак, если у вас есть SSH-доступ, вы можете легко исправить команду find.

Сначала идут по пути, где установка PrestaShop находится в Тогда:.

файлов:

find . -type f -perm 666 -exec chmod 644 {} \;

для папок:

find . -type d -perm 777 -exec chmod 755 {} \;

+0

Я рекомендую форматировать свой код. –

+0

Спасибо за ваше предложение, это нормально? –

Смежные вопросы