zhangxinba 发表于 2015-8-6 11:02:51

Apache开启伪静态后报500错误.

  参考:http://blog.163.com/lgh_2002/blog/static/44017526201051452939761/
  
  加载Rewrite模块:
  在conf目录下httpd.conf中找到


LoadModule rewrite_module modules/mod_rewrite.so  这句,去掉前边的注释符号“#”,或添加这句。
  
  允许在任何目录 或者特定目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”)
  
    AllowOverride All

  
  
  在Windows系统下不能直接建立“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。
  
  
  
Apache开启伪静态后报500错误.
  检查APACHE日志发现如下信息:
  Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ‘LimitInternalRecursion’ to increase the limit if necessary. Use ‘LogLevel debug’ to get a backtrace.
  从逻辑上说不应该出现内部重定向超限,因为我一共才打开了1个链接。怀疑是rewrite模块规则写错了,进入死循环。突然想起了.htaccess文件, 原来这个站点是测试部署在一个子目录/XXXX下,而.htaccess是直接从另一个网站拷贝过来的
RewriteEngine On
RewriteBase/kohana/
RewriteRule ^(application|modules|system) -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*   index.php/$0
解决方法:将红色部分代码改成如下
RewriteRule ^(.*)$    /index.php/$1
页: [1]
查看完整版本: Apache开启伪静态后报500错误.