在 Apache 服务器上配置 CakePhp 时遇到问题。它在我的开发环境中运行良好,现在我正在寻找部署。
网址将如下所示:
"http://www.example.com/mysite/"
示例控制器操作将是:
"http://www.example.com/mysite/users/login"
使用默认的 htaccess 文件似乎不起作用。
mod_rewrite 是根据 phpInfo 加载的,它正在重写 url,但它把 /mysite/ 看作一个控制器。这是输出和我的 .htaccess 文件
Missing Controller
Error: MysiteController could not be found.
Error: Create the class MysiteController below in file: >app/Controller/MysiteController.php
根:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
应用程序:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
网络根:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>
我应该更改我的 .htaccess 文件还是我的 CakePhp 配置文件?我尝试了一些不同的 RewriteBases,只是设法得到不同的错误。
编辑:服务器正在运行 php-cgi,看来我的所有链接都被写入了 cgi-bin。例如:
$this->Html->meta('icon');
写入路径“/cgi-bin/cgiwrap/w3u_mysite/mysite/favicon.ico” 关于这可能发生在哪里或为什么会发生的任何想法?