我在浏览器中试过这个:
http://example.com/contact
然后我得到“无法找到控制器类ContactController ”错误
它不存在,因为“contact”是不属于CakePHP应用程序的文件夹名称。它里面有2个php文件,但它们可以独立运行。它们不是CakePHP应用程序文件。
我试过了:
Router::redirect('/contact/*', 'http://example.com/contact/',
array('status' => 302));
但是我从浏览器中得到了这个错误 “此网页有重定向循环”
如何进行重定向,以免出现此错误?
答案 0 :(得分:5)
可以添加mod_rewrite规则。
假设您的应用路径为:
/var/www/
/var/www/app
/var/www/app/webroot
将您的文件夹“contact”添加到
/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>