Prestashop后台工作,但前台不工作.找不到网址


Prestashop backoffice works but the frontoffice doesn't. The url is not found

我已经在Mac中使用xampp完全在本地host中开发了一个多语言prestashop商店,并且可以工作。后台和商店(前台)。之后,我已将其部署到亚马逊,但出现了我的问题。后台工作,但商店不工作。

浏览器只显示一个 apache 404 页面,并告诉我在此服务器上找不到请求的 URL 域/prestashop/en/。但它确实存在。此外,后台证实了这一点。

检查错误时.log我发现以下消息:

[2015年3月12日星期四 11:12:37] [错误] [客户端 xxx.xxx.xxx.xxx] 文件不存在:/var/www/prestashop/en

对于我所看到的,Apache将语言(/en/)视为文件,而事实并非如此。我已经搜索了整个网络,但找不到解决方法。我知道这是服务器问题,但不知何故找不到解决方案。

这是怎么回事?

我通常按以下方式设置我的虚拟主机

<Directory /var/www/prestashop/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

解决方案从@LeonardoLanchas的问题帖子中移出。

我通过以下步骤解决了这个问题:

  1. 删除了根 .htaccess
  2. 清除了 ./cache/smarty/compile 下的智能缓存文件
  3. 加载未安装的mod_rewrite模块:a2enmod 重写
  4. 将 Allowoverride All 指令添加到/etc/apache2/apache2.conf
<Directory /var/www/prestashop/>
        Options Indexes FollowSymLinks
        AllowOverride All
</Directory>
  1. 重新启动的 apache2:服务 apache2 重新启动
在我的

范围内,在这个文件中/etc/apache2/apache2.conf

这是默认值:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

我把它改成:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

然后重新启动apache2服务