Apache htaccess-XAMPP上的internet服务器错误500

Apache htaccess-XAMPP上的internet服务器错误500,apache,.htaccess,xampp,Apache,.htaccess,Xampp,我试图在XAMPP上运行脚本,但得到“internet服务器错误500”。在实时服务器上运行时,这是正常的。我假设这是一个.htaccess错误。htaccess代码如下所示: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule> 重新启动发动机

我试图在XAMPP上运行脚本,但得到“internet服务器错误500”。在实时服务器上运行时,这是正常的。我假设这是一个.htaccess错误。htaccess代码如下所示:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    public/    [L]
    RewriteRule    (.*) public/$1    [L]
 </IfModule>

重新启动发动机
重写规则^$public/[L]
重写规则(.*)public/$1[L]
我已通过取消对行的注释来启用htaccess:

LoadModule rewrite_module modules/mod_rewrite.so

在配置文件中


有什么想法吗?

尝试在您的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>

允许超越所有

极有可能(我对此持肯定态度)您有无限重写循环(查看错误日志了解详细信息——它会告诉您确切的原因)。您的第二个重写规则将一次又一次地重写--您需要添加一些条件以防止进一步重写(不重写已重写的URL),例如,
RewriteCond%{REQUEST_URI}^/public/
错误日志声明:[Wed Mar 14 11:56:18 2012][alert][client::1]C:/xampp/htdocs/widgets/mobile/mvc/framework/.htaccess:不允许重写引擎here@LazyOne,我添加了条件,但仍然存在相同的错误。根据错误消息:查看
AllowOverride
指令--。您需要在Apache主配置文件(例如httpd.conf)中添加
AllowOverride All
或类似的内容——在httpd.conf文件中进行更改后,不要忘记重新启动Apache(更改不会自动拾取)。您的.htaccess文件驻留在哪里?你能写下你的文件夹路径吗?AllowOverride All已经在配置文件中设置好了,我重新启动了apache,没有乐趣。已经将htaccess更改为包含上述内容的文件,但仍然不起作用。我加对了吗?RewriteRule上的RewriteEngine^$public/[L]RewriteRule(.*)public/$1[L]RewriteCond%{REQUEST_URI}^/公共/允许覆盖所有Thanks@LeeTee请检查关于RewriteCond指令的手册:该行应位于第二个RewriteCond规则行之前。请再次检查错误日志(以防这次有不同的错误)。好的,我已更改为与上面指定的完全相同,并得到错误:[Wed Mar 14 13:42:10 2012][alert][client::1]C:/xampp/htdocs/xampp/widgets/mobile/mvc/framework/.htaccess:C:/xampp/htdocs/xampp/widgets/mobile/mvc/framework/.htaccess:1:未关闭。请阅读手册:。上下文:服务器配置,虚拟主机。
目录
指令不能在.htaccess中使用。