.htaccess - CakePHP 和 VirtualDocumentRoot 问题

标签 .htaccess cakephp mod-rewrite apache2

我有一个配置为 DocumentRoot /var/www 的 LAMP 服务器更改为VirtualDocumentRoot /var/www/%-3/在 Apache2 配置文件中 - 这允许我自动映射 /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.logrewrite.log ,这是因为.htaccess导致无限重定向,并且正在附加 app/webroot到 URI。

据我了解,L这里的标志应该指示“最后一条规则” - 我假设这个错误是由于我对 mod_rewrite 的理解不佳造成的,但我不确定这到底发生在哪里。该错误是否是由于此设置的其他一些潜在问题造成的?我知道已经有几个关于此的问题,如果我能找到任何新信息,我将进行更新。任何帮助将不胜感激!

最佳答案

找到答案了!

完整答案由用户“kostasz”提供,地址:http://bit.ly/NSDWE2在评论中。

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

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

关于.htaccess - CakePHP 和 VirtualDocumentRoot 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392258/

相关文章:

Cakephp 3.0 - 异常 : SQLSTATE[42S02]: Base table or view not found

apache - htaccess 一个 RewriteCond 用于多个 RewriteRules?

.htaccess mod_rewrite 域之间的重定向

ruby-on-rails - 模仿 .htaccess 或其他一些用 webrick 保护的密码

CakePHP 4.1.4 - 如何在新版本的 CakePHP 中创建、读取和检查 cookie

css - 将按钮类添加到使用 html 帮助程序的表格单元格 <td>

.htaccess - 如果第一个域有文件夹路径,我如何 301 将一个域重定向到另一个域

linux - 将非 www 重定向到 www,但保持其他子域不变

php - htaccess重写参数单页+iframe

apache - Magento2 安装后的 ERR_TOO_MANY_REDIRECTS 问题,可能是 Ubuntu 虚拟主机问题