tra*_*nte 2 php redirect routing cakephp cakephp-2.0
我在浏览器中试过这个:
http://example.com/contact
Run Code Online (Sandbox Code Playgroud)
但后来我得到" 无法找到Controller类ContactController "错误
它不存在,因为"contact"是一个不属于CakePHP应用程序的文件夹名称.它里面有2个php文件,但它们可以独立运行.它们不是CakePHP应用程序文件.
我试过这个:
Router::redirect('/contact/*', 'http://example.com/contact/',
array('status' => 302));
Run Code Online (Sandbox Code Playgroud)
但我从浏览器" 这个网页有一个重定向循环 " 得到这个错误
如何进行重定向以便我不会收到此错误?
可以添加mod_rewrite规则.
假设您的应用路径是:
/var/www/
/var/www/app
/var/www/app/webroot
Run Code Online (Sandbox Code Playgroud)
将您的文件夹"contact"添加到
/var/www/contact
Run Code Online (Sandbox Code Playgroud)
找到CakePHP .htaccess at
/var/www/.htaccess
Run Code Online (Sandbox Code Playgroud)
这是原始内容:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
在"RewriteEngine on"行之后添加规则
RewriteRule ^contact - [L]
Run Code Online (Sandbox Code Playgroud)
它看起来像这样
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^contact - [L]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)