【发布时间】:2015-08-24 17:53:47
【问题描述】:
我在根文件夹中的第一个 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
我在 webroot 文件夹中的第二个 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
我在 src 文件夹中的第三个 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
执行此操作后,它会在 CakePHP 3 中生成 500 internal server error。
【问题讨论】:
-
我注意到您的一些问题包括“请帮助”,有时还包括“紧急”——值得注意的是,这些问题通常会被删掉,而且一些读者非常不喜欢紧急请求,以至于他们会否决这个问题。请记住,所有读者都是这里的志愿者,所有问题都同等重要。
-
什么证据让您认为这是一个 .htaccess 问题?从您所介绍的情况来看,这也可能是您的应用程序中的编码或配置错误。
-
我在 cakephp 2.0 中找到了解决方案,我们需要三个 htaccess 文件,但在 cakephp 3.0 中,我们只需要 2 个 cakephp 文件(根目录,webroot 文件夹)。在根目录中 --
RewriteEngine on RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] 在 webroot 文件夹中 --RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
标签: php .htaccess cakephp-3.0