質問: new Server(new Application( $cakeRoot . '/config')); ``` ``` // htdocs/hoge/app/[cake]/index.php // require 'webroot' . DIRECTORY_SEPARATOR . 'index.php'; require '../../public' . DIRECTORY_SEPARATOR . 'index.php'; ``` この手順でcake本体からwebrootを切り出してドキュメントルートへ設置しました。 が、localhost/hoge/[コントローラ名]/[アクション名]にアクセスすると下記の500エラーになり先へ進みません。 ### その他試したこと .htaccessにRewriteBaseを追記するという方法が出ていたので下記のように試しました。 ``` /******************************* * htdocs/hoge/public/.htaccess *******************************/ RewriteEngine On RewriteBase / //追記 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] /******************************* *htdocs/hoge/app/[cake]/.htaccess *******************************/ RewriteEngine on RewriteBase / //追記 RewriteRule ^(\.well-known/.*)$ $1 [L] RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] ``` これだと500エラーはなくなりますが、404となりやはりアクセスできません。 どのようにすれば正常にデフォルト画面が表示されますか? また、cake3に馴染みが薄いので私の解釈、認識が間違っていますでしょうか? ### エラーメッセージ **Internal Server Error** The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at postmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30 Server at localhost Port 80
回答: htdocs/hoge/public/.htaccess ``` RewriteEngine On RewriteBase /hoge/public/ //追記 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] ``` htdocs/hoge/app/[cake]/.htaccess ``` RewriteEngine on RewriteBase /hoge //追記 RewriteRule ^(\.well-known/.*)$ $1 [L] RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] ``` これで期待した動作になりました。 ご回答ありがとうございました。