我有一个情况,我似乎无法解决!问题是我正在本地主机(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 教程以获取更多信息。
循序渐进
这些是分步说明。请按照此处显示的顺序遵循它们。如果某个步骤失败,在解决问题之前不要继续。
- 将文件重命名为"htaccess.txt"在你的Joomla!的基本文件夹到".htaccess"。
- 此步骤可能不是必需的。在文本编辑器中打开 .htaccess。取消注释重写库/(删除第一个字符#)。如果 Joomla 安装在自己的文件夹中,则在反斜杠后输入 Joomla 文件夹名称。例如 RewriteBase/yourjoomlafolder。
- 登录到后端并打开全局配置。
- 启用使用 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 文件重命名并不重要。
- 如果您认为有必要,请启用向 URL 添加后缀并保存。此选项会将.html添加到 URL 的末尾。关于这是否必要甚至有用,存在不同的意见。搜索引擎似乎并不关心您的URL是否以.html结尾。
- 打开插件管理器并启用系统 - SEF 插件。此插件为您的 Joomla 文章中的链接添加了 SEF 支持。它直接在 HTML 上运行,不需要特殊标记。