刚完成在Linux服务器上安装Magento。
当我转到Magento“管理面板”时,我可以在页面顶部看到以下消息。
您的Web服务器配置不正确。结果,可以从外部访问带有敏感信息的配置文件。请联系您的托管服务提供商。
此错误消息最可能的原因是什么?
谢谢,
约翰·高奇
Magento在各个目录中使用.htaccess文件来拒绝对目录树的访问。您会在应用程序,媒体,var和Magento认为合适的任何其他地方找到它们。他们执行各种操作,例如拒绝查看(应用程序,var),执行(媒体.htaccess)。为了使这些.htaccess文件起作用,在文档根.htaccess或虚拟服务器配置中设置以下内容非常重要。
Options FollowSymLinks AllowOverride All
Magento更有可能检测到不允许使用应用程序目录.htaccess文件拒绝对您的app / etc / local.xml文件的网络访问,因此任何使用Web浏览器的人都可以看到您的所有数据库凭据和加密密钥。
另一个问题可能是您的文件/目录权限太宽松。
对于在FastCGI,SuPHP或LSAPI下运行的Magento
find . -type f -exec chmod 644 {} \; find . -type d -exec chmod 755 {} \; chmod 550 pear #for Magento pre 1.5 chmod 550 mage #for Magento 1.5 and up chmod 550 cron.sh
对于在DSO(mod_php)下运行的Magento
find . -type f -exec chmod 644 {} \; find . -type d -exec chmod 755 {} \; chmod o+w var var/.htaccess app/etc chmod 550 pear #for Magento pre 1.5 chmod 550 mage #for Magento 1.5 and up chmod 550 cron.sh chmod -R o+w media
对于以下问题,应 在app / etc文件夹中放置以下.htaccess文件。尝试通过服务器读取任何内容都将引发403错误。下一步是与您的网络托管服务商联系,以查明为什么不尊重该文件。
Order deny,allow Deny from all
注意: 如果您使用的其他HTTP服务器(例如nginx),则必须搜索在Magento目录树中创建的所有.htaccess文件,并重新创建Magento在nginx设置中使用的所有.htaccess函数,以便具有相同的文件/目录保护作为标准的Apache DSO安装。IIS上的Windows安装也是如此。