我的prestashop模块具有几个moduleFrontControllers,一切似乎都正常运行,但是:
PrestaShop> = v1.6.1.20(PHP> = 5.6.37)在我的本地dev_platform和生产测试平台上-一切正常。几个客户使用它也没有任何问题。 (示例前端控制器网址https://myprestashop/modulename/token-200响应)
PrestaShop <= v1.6.1.1(PHP <= 5.5.38),打开了友好的URL,打开了mod_rewrite-模块仅不起作用。 (示例网址与上面的网址相同,但未找到404响应,并且对于我的所有moduleFrontControllers都是相同的)
任何想法都可能导致这里的问题吗?是PrestaShop版本还是PHP版本错误?较旧的PrestaShops可能还有其他要求吗?我在这里没有猜测。
我的ModuleFrontController的示例:
class ModulenameTokenModuleFrontController extends AbstractRestController
{
protected function processGetRequest()
{
try {
//some_code
$this->ajaxDie(json_encode($result));
} catch (Exception $e) {
$this->ajaxDie(json_decode($e->getMessage()));
}
}
protected function processPostRequest()
{
}
protected function processPutRequest()
{
}
protected function processDeleteRequest()
{
}
}
和
abstract class AbstractRestController extends ModuleFrontController
{
public function init()
{
parent::init();
switch ($_SERVER['REQUEST_METHOD']) {
case 'GET':
$this->processGetRequest();
break;
case 'POST':
$this->processPostRequest();
break;
case 'PATCH':
case 'PUT':
$this->processPutRequest();
break;
case 'DELETE':
$this->processDeleteRequest();
break;
default:
}
}
abstract protected function processGetRequest();
abstract protected function processPostRequest();
abstract protected function processPutRequest();
abstract protected function processDeleteRequest();
}