CakePHP 2 をインストールしていますが、特定の URL がデフォルトのルーティングから除外されています。.htaccess ファイルに例外を追加することでこれを行いました。たとえば、 http : //www.mydomain.com/blogまたはhttp://www.mydomain.com/proofgalleryを呼び出すと、両方とも Cakephp の外部のフォルダーにリダイレクトされます。
.htaccess コードは次のようになります。
# Overrides to the cake routing
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/? (blog|proofgallery)/(.*)$
RewriteRule ^.*$ - [L]
</IfModule>
しかし、error.log で、これらの除外に対して何らかの原因でコントローラーが見つからないというエラーが発生していることに気付きました。
例えば
2012-10-16 14:49:15 Error: [MissingControllerException] Controller class ProofgalleryController could not be found.
#0 /home/mydomain/public_html/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}
2012-10-16 11:13:24 Error: [MissingControllerException] Controller class BlogController could not be found.
#0 /home/mydomain/public_html/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {メイン}
何故ですか?そして、それを回避する方法は?私が知る限り、アプリケーション内からのすべてのリンクは完全な URL (http://www.mbvphotography.com/blog) を使用しており、Cake HTML ヘルパーではなく、コントローラーの欠落エラーを説明している可能性があります。