2

我从浏览器尝试了这个:

http://example.com/contact

但后来我得到“无法找到控制器类 ContactController ”错误

它不存在,因为“contact”是一个不属于 CakePHP 应用程序的文件夹名称。它里面有 2 个 php 文件,但它们独立工作。它们不是 CakePHP 应用程序文件。

我试过这个:

Router::redirect('/contact/*', 'http://example.com/contact/',
    array('status' => 302));

但我从浏览器收到此错误“此网页有重定向循环

如何进行重定向,以免出现此错误?

4

1 回答 1

6

可以添加 mod_rewrite 规则。

假设您的应用程序路径是:

/var/www/
/var/www/app
/var/www/app/webroot

将您的文件夹“联系人”添加到

/var/www/contact

在以下位置找到 CakePHP .htaccess

/var/www/.htaccess

这是原始内容:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

在“RewriteEngine on”行之后添加以下规则

RewriteRule  ^contact -               [L]

它看起来像这样

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule  ^contact -           [L]
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
于 2012-11-13T12:00:12.250 回答