在xampp上启用apache mod重写的问题

我正在尝试启用Apache的xampp mod重写,我已经取消了代码注释

LoadModule rewrite_module modules/mod_rewrite.so 

我也有AllowOverride All,但它仍然不工作,

我得到错误400说

错误的请求!

您的浏览器(或代理)发送了此服务器无法理解的请求。

所以我试图安装其中有apache的zend服务器社区版本,我做了以下所有和url重写工作,但这次web应用程序内的公共文件夹隐藏在apache中,当我尝试复制内容的公用文件夹,并在根中访问它我得到的错误500说

内部服务器错误

服务器遇到内部错误或configuration错误,无法完成您的请求。

我会很感激,如果有人可以帮我设置其中之一,我试图使用zend框架。

谢谢

的.htaccess

 SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] php_flag short_open_tags on 

apache错误日志:

请求中的URI无效GET / webfolder / zf-tutorial / public / index / add HTTP / 1.1,referer: http:// localhost / webfolder / zf-tutorial / public /

更新 :我把web应用程序移动到apache的htdocs,现在一切正常,我把根指向下面的目录

 Alias /webfolder/ "C:/Users/Amir/Documents/webfolder/" Alias /webfolder "C:/Users/Amir/Documents/webfolder" 

任何想法为什么它不工作。 谢谢

AllowOverride启用.htaccess文件。 我的猜测是你有一个不好的.htaccess在网站的path。

如果你在.htaccess文件中有一些无效的语法,你会得到一个服务器500错误。

打开重写也是不够的,你必须将行RewriteEngine On添加到您的虚拟主机或.htaccess文件,然后按照您的重写规则

DC

您的重写规则是冲突的,顺序错误。 所有重写规则必须 RewriteEngine指令之后。

丢失第一行,并删除最后一个RewriteRule的相对path:

 SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] 

这个.htaccess应该你的公共/目录下。

请参阅手册 。 抛出更多的RewriteRules不是解决scheme。