【发布时间】:2012-04-20 10:46:23
【问题描述】:
在 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” 知道在哪里或为什么会发生这种情况吗?
【问题讨论】:
-
完全使用域有什么问题? (没有 mysite 部分?)如果您打算将域用于多个应用程序,则始终可以使用子域。
-
这是我的主机给我的网页空间,我不能使用整个域
标签: .htaccess cakephp mod-rewrite cakephp-2.0