php - 在 CakePHP 中路由静态文件夹名称

标签 php cakephp redirect routes cakephp-2.0

我在我的浏览器中试过这个:

http://example.com/contact

但随后出现“找不到 Controller 类 ContactController”错误

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

我试过这个:

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

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

我如何进行重定向才能避免出现此错误?

最佳答案

可以添加 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>

关于php - 在 CakePHP 中路由静态文件夹名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13351185/

相关文章:

HTML 中的 PHP 简单 for 循环 (Codeigniter)

php - PHP中maximum_execution_time的最大值是多少?

javascript - 使用 http/https 时是否有识别 'Domain not Owned' 站点的标准方法?

CakePHP saveField INT 列中的 NULL 值

cakephp - cakephp中单个表上的许多模型

javascript - 如何知道 javascript 调用重定向的位置?

regex - htaccess,使用正则表达式 : Folder to variable 重定向

php - 为什么这个日期功能只能在 2016 年 12 月 30 日之前使用?

php - PayPal 直接支付 PHP 代码

php - datatable 进入 cakephp 连接表