我的Joomla安装有问题。 这是一个相当香草的J!用K2安装2.5(最新版本)(我不认为这与我的问题有关)。 问题是我组成的任何网址(例如http://www.mysite.com/No-Such-URL-At-All)都会出现以下错误:
错误 文章未找到 您无权查看此资源。
我创建了一个 error.php 文件,该文件应该在模板中处理它,但Joomla根本没有使用它,因为我认为它不是真的被处理为错误而是作为一个错误处理权限重定向:\
所以我尝试将此代码添加到我的模板中:
代码:
if (($this->error->code) == '404') {
header('Location: /404.html');
exit;
但未检测到错误,代码也被忽略。
我检查了服务器的响应头,但实际上我收到了响应200,OK响应:。
一些可能有用的其他数据 - 它托管在godaddy专用的centos服务器上 - 启用SEF(禁用时问题仍然存在) 如果有任何其他信息可以帮助我,请告诉我......
我真的没有其他方向可以想到,也许有人知道为什么404会变成权限重定向?
答案 0 :(得分:2)
如果Joomla正在点击“com_content”组件(检查$ _REQUEST变量),请检查是否有404。我有这个问题,事实证明它不是,它击中了我的一个自定义组件。如果是这种情况,您需要执行以下操作来解决此问题。对于这个例子,让我们说它命中'com_home'而不是'com_content'。
1)。将components / com_content / router.php复制到components / com_home
2)。打开components / com_home / router.php并将所有“Content”实例替换为“home”
3)。打开组件/ com_home / home.php并在文件顶部附近添加以下行:
JHtml::_('behavior.tabstate');
require_once JPATH_COMPONENT.'/helpers/route.php';
4)。将整个components / com_content / helpers复制到components / com_home
中完成后,网址mysite.com/does-not-exist应重定向到您在模板中设置的error.php页面。