本地原一直使用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>