固定的
我在 Ubuntu 桌面上使用 LAMP 和 Joomla 3.3.4
我目前使用本地 IP(192.168.xx)访问该网站,因为我还没有域名,而且我仍在开发该网站。几个月来我一直在努力解决这个问题,浏览过论坛,那里有修复方法,似乎对其他人有用,但对我没用。
我正在尝试去掉index.php
URL 中显示的“ ”,这看起来真的很蠢。每个非主页的页面看起来都会像“ 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
不包含<Directory>
任何标签,如“ 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
Apacheerror.log
被下列内容充斥:
我修复了一个拼写错误,但仍然没有解决任何问题
“
/var/www/html/.htaccess
:这里不允许使用选项”(我不明白)“由于可能的配置错误,请求超出了 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
。
- 我注意到这个关于 apache2 的 Ubuntu 错误报告:https://i.stack.imgur.com/SOjhx.jpg
这可能是 Ubuntu 和 Apache2 的权限问题吗? - 我以前在使用软件时遇到过权限问题,甚至是 joomla,在我设置目录权限之前它无法修改文件。 - 通常情况下,您的主机会正确设置权限,显然您无法执行任何操作。虽然我自己托管它。
编辑2:
Ubuntu 版本:14.04
Apache2 配置文件:http://pastebin.com/raw,php?i=6H6rP2aY
答案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 配置。