15

从现场 magento 设置中,我制作了一个 tar.gz,将其移至另一个 DirectAdmin 用户的域,提取 tar.gz,复制数据库,更改数据库中域的 URL。前端效果很好。

后端给了我以下错误:

您的 Web 服务器配置不正确。因此,可以从外部访问包含敏感信息的配置文件。请联系您的托管服务提供商。”</p>

我已经检查了文件夹和文件的权限。还尝试将用户权限从具有 SSH 访问权限的用户组设置更改为与 DirectAdmin 用户名相同的用户。但这也不起作用。

请注意,此安装与实时环境位于同一台服务器上。

直播:(工作)http://imageshack.us/photo/my-images/197/nrhj.png/
测试:(不工作)http://imageshack.us/photo/my-images/542/uklz.png /

4

8 回答 8

10

特别检查 app/etc/local.xml 的权限,因为通常这意味着它是世界可读的。

此外,app/etc/ 中应该有一个 .htaccess 文件,它拒绝 Web 服务器提供内容。检查以防万一您的 tar 备份不包含它。通常,此问题来自使用 FTP 客户端执行已关闭隐藏文件可见性的传输。

于 2013-07-13T14:47:53.000 回答
8

对于 Apache 2.4.x,您必须添加Require all granted所以它看起来像这样:

<Directory /var/www/magento>
  AllowOverride All
  # New directive needed in Apache 2.4.3: 
  Require all granted
</Directory>

来源:Apache:客户端被服务器配置拒绝

于 2014-09-04T17:27:45.617 回答
6

我使用带有 Apache 2.2.22 和 Magento 1.9.1 的 Debian 7,添加

<Directory /var/www/magento/>
            AllowOverride All
</Directory>

/etc/apache2/sites-available/default

为我工作

于 2015-05-27T07:12:13.150 回答
4

与 John Veldboom 的回答类似,我添加了这个,/etc/apache2/apache2.conf因为我的 magento 安装在不同的目录中/var/www/html(例如,目录路径是提取 magento 的位置):

<Directory /var/www/html/>
        AllowOverride All
        Require all granted
</Directory>

使用以下apache2和 ubuntu 发行版:

root@test-VirtualBox:/var/www/html# dpkg -l apache2 && lsb_release -a
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  apache2        2.4.7-1ubunt amd64        Apache HTTP Server
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty
于 2014-12-15T21:49:33.250 回答
2

我在 Debian 上遇到了这个问题,发现我的服务器级站点配置(在 /etc/apache2/sites-available/default 中)设置了 AllowOverride None。将该行更改为 AllowOverride All 修复了它。

于 2014-07-30T19:46:47.893 回答
1

感谢 Haselnussstrauch,您的回答对我有用。我的设置在 apache2.conf

sudo nano /etc/apache2/apache2.conf

将默认 AllowOverride None更改为 AllowOverride All

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

然后重启 Apache:

sudo service apache2 restart
于 2017-03-10T03:41:51.723 回答
0

我已经解决了问题,子文件夹(尤其是应用程序)内没有 .htaccess 罚款。

于 2015-11-25T15:45:21.243 回答
0

许多其他地方建议您可以通过将其添加到 httpd.conf 来阻止服务器的 IP 地址

<Location />
order allow,deny
allow from all
deny from aa.bb.cc.dd
</Location>

但是,由于某种原因,这会导致所有其他 .htaccess 文件被忽略,包括用于保护 magento 的 .htaccess 文件。

于 2015-11-05T22:38:12.953 回答