本地OSX apache上cakephp的URL重写
我已经在OSX上设置了apache供本地web开发人员使用,并使用dnsmasq创建了一个动态vhost,这样访问本地OSX apache上cakephp的URL重写,apache,.htaccess,cakephp,mod-rewrite,url-rewriting,Apache,.htaccess,Cakephp,Mod Rewrite,Url Rewriting,我已经在OSX上设置了apache供本地web开发人员使用,并使用dnsmasq创建了一个动态vhost,这样访问foo.dev将指向我的~/Sites/Sites文件夹中的/foo目录 这就是vhost规则的外观: <Virtualhost *:80> VirtualDocumentRoot "/Users/harryg/Sites/sites/%1" <Directory "/Users/harryg/Sites/sites"> Order allow,deny
foo.dev
将指向我的~/Sites/Sites
文件夹中的/foo
目录
这就是vhost规则的外观:
<Virtualhost *:80>
VirtualDocumentRoot "/Users/harryg/Sites/sites/%1"
<Directory "/Users/harryg/Sites/sites">
Order allow,deny
Allow from all
Options Indexes FollowSymLinks Includes ExecCGI
# New directive needed in Apache 2.4.3:
Require all granted
AllowOverride All
Satisfy Any
</Directory>
ErrorLog "/Users/harryg/Sites/logs/sites/error.log"
CustomLog "/Users/harryg/Sites/logs/sites/access.log" common
ServerName sites.dev
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>
但是我得到一个500内部服务器错误
。错误日志显示:
由于可能的原因,请求超出了10个内部重定向的限制
配置错误。使用“LimitInternalRecursion”增加
必要时限制。使用“日志级别调试”获取回溯
暗示重写规则在某种程度上是相互冲突的。你知道怎么解决吗?解决了。答案是简单地将以下行添加到我的.htaccess文件中:
RewriteBase /
不知道为什么这是必要的,但它起了作用
RewriteBase /