.htaccess 在 xampp Ubuntu 14.04 上不起作用
Posted
技术标签:
【中文标题】.htaccess 在 xampp Ubuntu 14.04 上不起作用【英文标题】:.htaccess not working on xampp Ubuntu 14.04 【发布时间】:2015-07-01 15:58:13 【问题描述】:我很难让我的 .htacces 在我的 Ubuntu 14.04 LTS 上运行。我知道这是一个隐藏文件。我到处搜索,人们似乎也有同样的问题。我已经在我的机器上创建了一个虚拟主机。有人可以帮我吗?
ErrorDocument 404 /pages/error.php?code=404
ErrorDocument 403 /pages/error.php?code=403
【问题讨论】:
我的水晶球许可证已过期。您面临哪些问题?日志是怎么说的? 当我将它上传到服务器上时它可以工作,但不能在 localhost 上工作! @Sumurai8 “它不起作用”不是问题描述。你得到一个白页吗?你得到默认的404吗?你突然看到粉红色的独角兽了吗?你的电脑会自燃吗?你会得到一个不同的错误吗? 关于此的日志中有什么内容? 大声笑,我得到默认页面 您的DocumentRoot
设置为什么? <documentroot>/pages/error.php
是实际页面吗?
【参考方案1】:
您需要确保以下事项属实:
您需要检查DocumentRoot
的设置。当检测到以斜杠开头的 url 时,它将尝试加载相对于文档根目录的文件。 (docs) 文件<documentroot>/pages/error.php
因此必须存在。
您需要确保主 Apache 配置允许 .htaccess 文件。测试这一点的最简单方法是将垃圾输入您的 .htaccess 文件,保存并重新加载页面。如果 Apache 读取 .htaccess 文件,您将收到内部服务器错误。否则页面按预期加载。要启用 .htaccess 文件,AllowOverride
指令必须允许某些内容(请参阅下一个要点)。此外,如果 AccessFileName
设置为不同于 .htaccess 的值,请检查 httpd.conf。根据需要进行更改,然后RESTART APACHE。 (docs)
对于ErrorDocument
,AllowOverride
必须至少设置为FileInfo
。见the docs。转到您的主配置文件 (httpd.conf),可能是 apache/Apachex.y.z/conf/httpd.conf
。搜索与您的 http 根对应的 <Directory ...>
块,并查看它是否包含 AllowOverride
指令。添加FileInfo
作为参数之一,保存文件并RESTART APACHE。
【讨论】:
以上是关于.htaccess 在 xampp Ubuntu 14.04 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在 ubuntu 13.10 上从 XAMPP 移动到 LAMP 后 htaccess 不起作用(在 apache linux 服务器中启用 htaccess)
.htaccess 在 xampp Ubuntu 14.04 上不起作用