【问题标题】:Using Joomla, htaccess won't forward pages without an extension to the correct 404 page?使用 Joomla,htaccess 不会将没有扩展名的页面转发到正确的 404 页面?
【发布时间】:2014-01-08 14:47:35
【问题描述】:

在 LTCperformance.com,我创建了一个自定义 404 页面。如果用户输入 ltcperformance.com/fakepage.html,它会转发到 404 页面。但如果没有扩展名 (ltcperformance.com/fakepage),它只会显示默认的系统 404 页面。

我正在使用 htaccess 控制 404 页面:

ErrorDocument 404 http://ltcperformance.com/404.php
ErrorDocument 403 http://ltcperformance.com/404.php
ErrorDocument 500 http://ltcperformance.com/404.php

我在 Joomla Administrator 中有 URL 重写 = on 此外,在 Joomla Administrator 中,将后缀添加到 URL = off

有什么想法吗?我已经浏览了在其他帖子上可以找到的所有答案,如果文件上没有扩展名,则不会显示我的自定义 404 页面。

附加信息: 当我进行这些设置时,任何不存在的页面都会转到主页: - 搜索引擎友好的 URL / 否 - 使用 URL 重写/是 - 为 URL 添加后缀 /No

我有人在服务器端查看它,但我不知道它是什么服务器问题 - 网上的每个人都说这是一个服务器问题,但支持人员无法确定实际的服务器问题是什么。是老爹;我确实为我的 404 页面设置了他们的 404 页面设置(他们有一个单独的位置),但这也不起作用。

【问题讨论】:

  • 当你说'默认系统404页面'是指Joomla的404页面还是服务器的404页面?
  • 大卫 - 我相信这是服务器的 404 页面。
  • 有人对此有任何帮助吗?我仍然收到此错误!

标签: .htaccess joomla http-status-code-404 errordocument


【解决方案1】:

Joomla .htaccess 将所有请求路由到 index.php 以支持 SEF url。

如果无法路由页面,它将加载模板的error.php 页面。您可以根据需要对其进行编辑,这将是最简单的。

如果你的模板中不包含error.php,请将/templates/system中的那个复制到你的模板文件夹并自定义它。

【讨论】:

  • Riccardo - 感谢您的回复。我按照他们的指示执行此操作,但它会使所有页面都转到 404 页面(右侧),即使是除了主页之外存在的页面。
  • 我建议您坚持使用默认的 Joomla 404 行为,即 Joomla 附带的 htaccess.txt,并在您的模板中自定义 error.php(或从中重定向)。默认的 Joomla! htaccess 路由所有丢失的页面,无论扩展名如何。
  • Riccardo - 我编辑了 error.php 页面,但它仍然没有转发到该页面。我只是得到一个默认的 404 页面:ltcperformance.com/asdf
  • @Kimberly 你在使用来自 Joomla 发行版的默认 .htaccess 吗?如果不能,您可以将当前的替换为默认的并重新测试吗?
  • 如果我删除强制 404 页面的 htaccess 编码,它将使用 error.php 页面,但不适用于无扩展名页面 (ltcperformance.com/alskdjf
猜你喜欢
  • 1970-01-01
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
  • 2012-08-20
  • 1970-01-01
相关资源
最近更新 更多