我正在尝试启用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。