我在joomla中遇到此网站http://onlinecasinosouthafrica.co.za/的一个问题。我只是在管理员旁边更改站点全局配置,然后提交表单以发送邮件。我不知道现在我的网站显示限制访问的原因。可能是由于全局配置的更改,因为我已将Use Apache mod_rewrite选项从no更改为yes,但在此之后我已经工作并刷新它显示的页面,现在它只显示受限访问。无法理解发生了什么。请帮助我。
提前感谢。
答案 0 :(得分:1)
在Joomla网站的每个.php文件的顶部,你会看到类似的内容:
defined('_JEXEC') or die('Restricted Access');
这是为了防止任何人直接通过浏览器访问该文件。它基本上说:如果没有定义_JEXEC常量,则杀死进程,_JEXEC在应用程序运行时设置,它发生在顶部附近的站点主index.php文件中:
// Set flag that this is a parent file.
define('_JEXEC', 1);
如果删除它,它将定义导致这些问题,但很可能是因为CMS中发布的组件或插件导致错误。
如果你安装了一个适用于Joomla 1.0的插件,你会看到这样的错误,这是因为找到_JEXEC被设置,它会找到类似_VALID_MOS的东西,在这种情况下,尝试切换传统模式插件。
如果旧版模式无法解决您的问题,请检查网站模板以确保定义的('_ JEXEC')或死亡('限制访问'); line没有引起问题,用#或//注释掉它并测试它。
你可以尝试打开Joomla调试,但不能保证会有所帮助。
如果您遇到困难,可以尝试以下方法之一:
1)备份数据库,然后逐个禁用所有插件(我注意到你仍然可以访问管理员区域),然后重新启用插件或恢复数据库。
2)我曾经不得不在CMS中查找和替换每个插件,我替换了字符串:
'Restricted Access'
带
'Restricted Access' . __FILE__
我使用PHP完成了这项工作,它让我可以精确地确定哪个文件引发了错误。我显然首先备份了站点文件结构,所以我只是解压缩备份并稍后删除修改后的文件。