2

私は自分のブラウザからこれを試しました:

http://example.com/contact

しかし、「コントローラークラスContactControllerが見つかりませんでした」というエラーが表示されます

「contact」はCakePHPアプリケーションの一部ではないフォルダ名であるため、存在しません。内部に2つのphpファイルがありますが、スタンドアロンで動作します。それらはCakePHPアプリファイルではありません。

私はこれを試しました:

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

しかし、ブラウザからこのエラーが発生しました「このWebページにはリダイレクトループがあります

このエラーが発生しないようにリダイレクトするにはどうすればよいですか?

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>

「RewriteEngineon」行の後に次のルールを追加します

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 に答える