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

问题描述 投票:0回答:3

我在 mac 中使用 xampp 完全在本地主机中开发了一个多语言 prestashop 商店,它可以工作。后台和商店(前台)。之后,我将它部署到亚马逊,但我的问题来了。后台工作但商店不工作。

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

检查 error.log 我发现以下消息:

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

就我所见,Apache 将语言 (/en/) 视为文件,而实际上并非如此。我在网上搜索了所有内容,但找不到解决方法。我知道这是一个服务器问题,但不知何故找不到解决方案。

这里怎么了?

php apache url-rewriting prestashop-1.6
3个回答
3
投票

我一般是这样设置我的vhost

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

0
投票

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

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

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

0
投票

在我的范围内,在这个文件中

/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
服务

© www.soinside.com 2019 - 2024. All rights reserved.