htaccess - XAMPP上的互联网服务器错误500 [关闭]
Posted
技术标签:
【中文标题】htaccess - XAMPP上的互联网服务器错误500 [关闭]【英文标题】:htaccess - internet server error 500 on XAMPP [closed] 【发布时间】:2012-03-30 21:23:39 【问题描述】:我试图在 XAMPP 上运行脚本,但得到“互联网服务器错误 500”。在实时服务器上运行时很好。我认为这是一个 .htaccess 错误。 htaccess 代码如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
我已通过取消注释该行来启用 htaccess:
LoadModule rewrite_module modules/mod_rewrite.so
在配置文件中。
有什么想法吗?
【问题讨论】:
极有可能(我对此持肯定态度)您有无限的重写循环(请查看您的错误日志以了解详细信息——它会告诉您确切的原因)。您的第二个重写规则将一遍又一遍地重写 - 您需要添加一些条件以防止进一步重写(不重写已经重写的 URL),例如RewriteCond %REQUEST_URI !^/public/
错误日志指出:[Wed Mar 14 11:56:18 2012] [alert] [client ::1] C:/xampp/htdocs/widgets/mobile/mvc/framework/.htaccess : 此处不允许使用 RewriteEngine
@LazyOne,我已经添加了条件但仍然是同样的错误。
基于错误信息:查看 AllowOverride
指令 -- httpd.apache.org/docs/current/mod/core.html#allowoverride 。您将需要在 Apache 主配置文件 中添加 AllowOverride All
或类似内容(例如 httpd.conf)——不要忘记在更改 httpd.conf 文件后重新启动 Apache(更改不会自动拾取)。
您的 .htaccess 文件在哪里?你能写下你的文件夹路径吗?
【参考方案1】:
尝试在您的 httpd.conf 中编辑此部分并设置AllowOverride All
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
或者试试这个:
<Directory />
AllowOverride All
</Directory>
【讨论】:
AllowOverride All 已在配置文件中设置,我重新启动了 apache,不高兴。 已将 htaccess 更改为包含上述文件的文件,但仍然无法正常工作。我添加正确了吗?Directory
指令不能在 .htaccess 中使用。以上是关于htaccess - XAMPP上的互联网服务器错误500 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
xampp 上的 .htaccess 文件(基于错误.. 图像路径不正确,css 文件..)
我的本地主机服务器上的隐藏目录(与 htaccess 相关)
在 ubuntu 13.10 上从 XAMPP 移动到 LAMP 后 htaccess 不起作用(在 apache linux 服务器中启用 htaccess)