我认为我遇到了 .htaccess 问题

我认为我遇到了 .htaccess 问题

我运行的是 Ubuntu 14.04 和 LAMP 堆栈。我的 Joomla 网站出现了一些奇怪的问题,我怀疑这可能是由于我在运行 Web 服务器时出错造成的。由于这不是 Joomla 论坛,因此我不会深入探讨 Joomla 问题,但简而言之——我在创建新菜单项时收到错误的地址(出现奇怪的目录“Feeds”,而我只看到 Joomla 主页)

如果我没记错的话,当我在 J 1.5 中创建原始 Joomla 网站时,我确实在 Joomla 根目录中使用了 .htaccess,并在 Joomla 管理面板中选择了适当的选项。另一个要点是,我在托管环境中构建了一个原始网站(即在远程服务器上,我猜想可能运行的是 PHP 5.3)。我不是 Apache 专家,但我认为我必须使用某个指令来启用 .htaccess(我认为默认情况下它是禁用的)。我还没有启用它。我决定将 Joomla 安装从 J 1.5 升级到 2.5 的原因是因为当我尝试在 Virtuemart 中添加支付模块时遇到了问题,我想原因可能是 J 1.5 和 PHP 5.5 不兼容(它是 Ubuntu 14.04 下的默认 PHP 版本)。尽管我成功地将 Joomla 版本从 1.5 升级到了 2.5,但之后我无法打开任何菜单项(主页除外)。我到处都收到 404 错误!然后我关闭了“使用 URL 重写”选项,并将 .htaccess 重命名为 htaccess.txt,之后一切都恢复正常(所有已经存在的内容,没有新的菜单项 - 我只是当时没有创建任何新菜单项)。

我在这里想问的是...也许我应该在 Apache 中启用 .htaccess 来避免此类问题?在 Ubuntu 14.04 和 LAMP 下实现这一目标的正确方法是什么?

答案1

我不知道 joomla,但大多数 CMS 都使用 .htaccess 来执行 URL 重写。

  • 第一步:

在您的 /etc/apache2/site-enabled/{yoursite}.conf 中添加以下代码以尝试启用 .htaccess,看看它是否能解决您的问题

<Directory /path/to/joomla/www/root/>
AllowOverride All
</Directory>

不要忘记检查 /path/to/joomla/www/root/.htaccess 是否存在

  • 第二步

如果有效,您可以通过将 .htaccess 内容复制到 /etc/apache2/site-enabled/{yoursite}.conf 虚拟主机配置中来摆脱这个问题。然后您可以删除步骤 1 和 .htaccess,现在它应该可以正常工作了!

答案2

问题解决了。这是 Joomla/Virtuemart 的问题,并不是真正的 Web 服务器问题。必须转到 Joomla 中的菜单管理器并按那里的重建按钮才能使菜单项井然有序。

相关内容