CakePHP和VirtualDocumentRoot问题

mzh*_*ang 3 .htaccess mod-rewrite cakephp apache2

我在Apache2配置文件中配置了DocumentRoot /var/www更改为LAMP服务器VirtualDocumentRoot /var/www/%-3/- 这允许我自动映射/var/www/<subdomain><subdomain>.example.com.

我目前正在学习CakePHP(2.x),目录中有Cake /var/www/foo/; 我注意到URLS没有正确重定向,我试图解决这个问题; 根据http://bit.ly/KmEhHl,我已将默认的.htaccess文件修改为(除其他外):

RewriteBase /cake
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
Run Code Online (Sandbox Code Playgroud)

但是,这提出了一个500内部服务器错误-检查的Apache2的error.logrewrite.log,这是因为.htaccess导致无限重定向,并且被追加app/webroot到URI.

根据我的理解,L这里的标志应该表示"最后一条规则" - 我假设这个错误是由于我的理解不充分mod_rewrite,但我不确定这究竟发生了什么.该错误是由于此设置的其他潜在问题吗?我知道已经存在几个问题,并且如果能在我的最终找到任何新信息,我会更新.任何帮助将不胜感激!

mzh*_*ang 5

找到答案!

用户'kostasz'在http://bit.ly/NSDWE2评论中提供完整的答案.

提示确实是无限重定向 - 使用RewriteBase /cake不是正确的基本URL.

要解决此问题,添加RewriteBase /到每个的.htaccess文件/,/app//app/webroot/.