#apache #api #ubuntu #prestashop #lamp
#apache #API #ubuntu #prestashop #lamp
Вопрос:
Я не могу получить доступ к API в моем тестовом магазине prestashop. Вот что я сделал :
Веб-сервисы активны, и ключ создан :
копия экрана моего администратора
В Apache активен мод перезаписи :
htacess выглядит так, как и должно быть :
# ~~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
#Domain: 192.168.1.20:8080
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/] ).(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/font-woff .woff
AddType application/font-woff2 .woff2
<IfModule mod_headers.c>
<FilesMatch ".(ttf|ttc|otf|eot|woff|woff2|svg)$">
Header set 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
Но в любом случае, это не работает :
URL-адрес в порядке :
Я пробовал оба способа подключения :
localhost / api amp; http://mykey@localhost и оба приводят меня к 404.
Редактировать: журнал Apache (как ошибка, так и доступ) ничего не сообщает об этом… Редактировать: Как я могу проверить, хорошо ли работает URLRewrite?
Редактировать 2: Ну, ну, URLRewrite, похоже, вообще не работает. Когда я включаю его, почти все не работает … (не удается получить страницу какого-либо продукта …)
Спасибо, что помогли мне. Ксавье.
Ответ №1:
Решено! Это была проблема с конфигурацией Apache.
<Directory /prestashop/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all <<<< all instead of none
Order allow,deny
allow from all
</Directory>
Я должен изменить AllowOverride none на AllowOverride all.
Спасибо.