如何修复网站内部导航/ Joomla



我有一个情况,我似乎无法解决!问题是我正在本地主机(LAMP)上托管一个网站。该网站是使用Joomla Framework创建的。当我在本地主机上导航到网站时,主页成功加载。一旦我单击任何导航链接,就会显示 404 错误。

例如,主页网址 -

http://localhost/PortalSources/

导航链接 -

http://localhost/PortalSources/tools/safety-assessment-tool.html

一旦我手动将"索引.php"添加到导航链接

http://localhost/PortalSources/index.php/tools/safety-assessment-tool.html

链接开始工作,页面加载成功。

什么可能导致此行为?如何修复它,以便我不必手动输入网站上的每个页面?

你可以在这里找到你的答案:https://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs

验证 .htaccess 是否已启用

检查您的 Apache 配置文件是否允许 .htaccess 覆盖。您必须确保启用覆盖或 Joomla 中的 .htaccess 文件!根目录将被忽略或导致错误。在虚拟主机配置文件的部分或主 (httpd.conf) 配置文件中,您必须具有类似于以下示例的内容,以启用覆盖:

<Directory "/home/user/public_html">
  AllowOverride All
</Directory>
<Directory "/path/to/htdocs">
  AllowOverride All Options=[an option],[an option],...
</Directory>

如果您无权访问站点的配置文件,还有其他方法可以测试是否启用了 .htaccess。请参阅 Apache 软件基金会网站上的 .htaccess 教程以获取更多信息。

循序渐进

这些是分步说明。请按照此处显示的顺序遵循它们。如果某个步骤失败,在解决问题之前不要继续。

  1. 将文件重命名为"htaccess.txt"在你的Joomla!的基本文件夹到".htaccess"。
  2. 此步骤可能不是必需的。在文本编辑器中打开 .htaccess。取消注释重写库/(删除第一个字符#)。如果 Joomla 安装在自己的文件夹中,则在反斜杠后输入 Joomla 文件夹名称。例如 RewriteBase/yourjoomlafolder。
  3. 登录到后端并打开全局配置。
  4. 启用使用 Apache mod_rewrite/URL 重写选项和保存。此选项使用 Apache mod_rewrite 函数来消除 URL 的"index.php"部分。检查您的网站是否正常运行。您的网址现在应如下所示:http://www.example.com/the-news/1-latest-news/1-welcome-to-joomla如果此选项导致错误,请参阅如何检查服务器上是否启用了 mod 重写。如果未启用并且您有权访问文件 apache/conf/httpd.conf,请打开该文件并检查 LoadModule rewrite_module modules/mod_rewrite.so 行是否未注释。如有必要,请取消注释该行并重新启动 Apache Web 服务器。如果无法启用mod_rewrite,请关闭此选项。如果您保留 .htaccess 文件重命名并不重要。
  5. 如果您认为有必要,请启用向 URL 添加后缀并保存。此选项会将.html添加到 URL 的末尾。关于这是否必要甚至有用,存在不同的意见。搜索引擎似乎并不关心您的URL是否以.html结尾。
  6. 打开插件管理器并启用系统 - SEF 插件。此插件为您的 Joomla 文章中的链接添加了 SEF 支持。它直接在 HTML 上运行,不需要特殊标记。

最新更新