【问题标题】:Apache2 URL Rewrite using Joomla - Permission issue? (500 internal error)使用 Joomla 重写 Apache2 URL - 权限问题? (500 内部错误)
【发布时间】:2014-10-28 21:17:56
【问题描述】:

我在 ubuntu 桌面上使用 LAMP 和 Joomla 3.3.4

我目前正在使用本地 ip (192.168.xx) 访问该网站,因为我还没有域名,而我仍在开发网站。 几个月来,我一直在为这个问题苦苦挣扎,浏览了那些似乎对其他人有用但对我无效的修复程序的论坛。

我正在尝试摆脱 URL 中显示的“index.php”,看起来非常愚蠢。 不是主页的每个页面都会看起来像“domain.com/index.php/page”,我想将其更改为domain.com/page

我已经尝试了 http://forum.joomla.org/viewtopic.php?t=614279 中列出的所有解决方案 似乎没有一个对我有用,而它们确实为很多其他人工作。 这段代码,评价最高,对我没有任何影响:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

命令 'a2enmod rewrite' 输出它已经启用,比如 php 和 joomla。

我的/sites-enabled/000-default.conf 不包含任何&lt;Directory&gt; 标签,就像在“AllowOverride”解决方案中指定的那样。当我用给定的代码添加这些代码时,我的整个网站都变成了500 internal error

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>  

当我在 Joomla 中启用“使用 URL 重写”时,它会使除主页 (domain.com) 之外的所有页面都变为 404

apache error.log 被以下垃圾邮件发送:

  • 我修正的一个错字仍然没有解决任何问题

  • '/var/www/html/.htaccess: Options not allowed here'(我不明白)

  • '由于可能的配置错误,请求超出了 10 个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用 'LogLevel debug' 获取回溯'

我不知道这里发生了什么,有什么想法吗?

编辑:

  • Joomla 的 configuration.php 中的 'public $live_site =' 值目前没有设置,它应该包含域名。当我尝试设置 'localhost' 时,它使我的整个网站模板出现故障而没有解决问题。 '192.168.x.x'

  • 相同
  • error.log 包含以下内容:PHP 通知:未定义索引:HTTP_HOST 在 /var/www/html/libraries/joomla/applications/web.php 中的 X 行

几乎每个.php 文件都会重复此操作。

这可能是 Ubuntu 和 Apache2 的权限问题吗? - 我之前遇到过软件权限问题,甚至是 joomla,在我设置目录权限之前,它无法修改文件。 - 通常您的主机正确设置权限,显然您将无法做任何事情。虽然我自己主持。

编辑 2:

Ubuntu 版本:14.04

Apache2 配置文件:http://pastebin.com/raw,php?i=6H6rP2aY

【问题讨论】:

  • 在这里阅读 Apache 部分:docs.joomla.org/…
  • 大约一个月前我已经尝试过了。它没有用,我遇到了与上面相同的问题,比如我没有“目录部分”。它似乎也已经过时了,Joomla 中不再存在“使用 Apache mod_rewrite 选项”。它也不适用于较新的“重写 URL 选项”

标签: php apache .htaccess mod-rewrite joomla


【解决方案1】:

我找到了解决我自己问题的方法。

我使用了这个指南:http://docs.joomla.org/How_to_check_if_mod_rewrite_is_enabled_on_your_server

...查看mod_rewrite 是否正常运行;不是。这意味着问题不在于 .htaccess 或您的 joomla 设置,而在于 apache。

如果 apache 配置不正确,.htaccess 将被忽略。

在我的配置中,AllowOverride 被设置为目标 /var/www/ 而不是 /var/www/html/。更新解决了我的问题。

我希望这对其他人也有帮助,如果您发现您的 apache 设置通过了我提到的指南,那么您的问题出在您的网站上;您的 .htaccess 或 joomla 配置。

【讨论】:

    猜你喜欢
    • 2011-08-08
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2011-08-08
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多