33. Apache请求超过了10个内部重定向的限制

本地原一直使用Nginx作为Web服务器,今天刚重置了Mac,就沿用系统自带的Apache作为服务器。

配置完虚拟机和重定向,提示500内部错误,查看权限错误日志,有如下说明:

[Mon Jun 19 12:14:08.349798 2017] [core:error] [pid 5839] [client 127.0.0.1:50553] AH00124:
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., referer: http://frontend.com/

由于可能的配置错误,请求超过了10个内部重定向的限制。如果需要,使用“LimitInternalRecursion”来增加限制。 使用’LogLevel debug’来获得一个回溯。

原因是我直接在httpd.conf中配置重定向操作,导致重定向嵌套。将重写配置迁移到虚拟机中即可:

<VirtualHost *:80>
    # 错误发生时,如果支持会发送邮件到该地址
    ServerAdmin 978771018@qq.com
    # 该虚拟机对应的可访问入口文件所在目录
    DocumentRoot "/Users/zhgxun/Public/html/php/zoulu/frontend/web"
    # 域名
    ServerName frontend.com

    # 重定向配置
    <Directory "/Users/zhgxun/Public/html/php/zoulu/frontend/web">
        # 开启 mod_rewrite 用于美化 URL 功能的支持
        RewriteEngine On
        # 如果请求的是真实存在的文件或目录,直接访问
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        # 如果请求的不是真实文件或目录,分发请求至 index.php
        RewriteRule . index.php
    </Directory>

    # 错误日志
    ErrorLog "/Users/zhgxun/Public/html/logs/frontend.com-error_log"
    # 权限日志
    CustomLog "/Users/zhgxun/Public/html/logs/frontend.com-acess_log" common
</VirtualHost>