【发布时间】:2012-05-10 15:48:44
【问题描述】:
我有一个 LAMP 服务器,在 Apache2 配置文件中将 DocumentRoot /var/www 更改为 VirtualDocumentRoot /var/www/%-3/ - 这允许我自动将 /var/www/<subdomain> 映射到 <subdomain>.example.com。
我目前正在学习CakePHP (2.x),Cake 在目录/var/www/foo/;我注意到 URL 没有正确重定向,并且正在尝试解决此问题;根据http://bit.ly/KmEhHl,我已将默认 .htaccess 文件修改为(除其他外):
RewriteBase /cake
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
但这会引发 500 内部服务器错误 - 检查 Apache2 的 error.log 和 rewrite.log,这是因为 .htaccess 导致无限重定向,并将 app/webroot 附加到 URI。
根据我的理解,这里的L 标志应该表示“最后一条规则”——我假设这个错误是由于我对mod_rewrite 的理解不足,但我不确定具体发生在哪里。错误是否是由于此设置的其他一些潜在问题?我知道已经有几个问题,如果我能找到任何新信息,我会更新。任何帮助将不胜感激!
【问题讨论】:
-
您应该使用虚拟主机设置您的环境 - 这将在源头解决您的所有问题:dereuromark.de/2011/05/29/working-with-domains-locally(并且不需要重写基本内容)
标签: .htaccess cakephp mod-rewrite apache2