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

时间:2016-04-26 16:48:53

标签: html joomla

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

例如。主页网址 -

http://localhost/PortalSources/

导航链接 -

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

我手动将'index.php'添加到导航链接

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以在此处找到答案: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 Software Foundation网站上的.htaccess教程。

一步一步

这些是分步说明。请按照这里的顺序关注它们。如果步骤失败,请在解决问题之前不要继续。

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