Laravelを使うには、publicディレクトリをドキュメントルートにしないといけないのですが、
レンタルサーバなどでドキュメントルートを変更できない場合の対応。
また、小規模サイトの場合、サイトごとにLaravelを使うよりは、
一つのLaravelでルーティングで複数サイトを使いたいという場合の対応。
ディレクトリ構成のイメージ
laravel/app/routes.php
/public/
mypage/.htaccess
/css/
/js/
yourpage/.htaccess
/css/
/js/
mypage/.htaccessを以下のようにする。(yourpage/.htaccessも同じ)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ ../laravel/public/index.php [L]
すると、「http://ドメイン/mypage/xxx」のアクセスをLaravelで受け取れる。(yourpageも同じ)
laravel/app/routes.phpを以下のようにする。
Route::group(array('prefix' => 'mypage'), function()
{
Route::get('/', 'MyPageController@index');
Route::get('/news', 'MyPageController@news');
});
Route::group(array('prefix' => 'yourpage'), function()
{
Route::get('/', 'YourPageController@index');
Route::get('/news', 'YourPageController@news');
});
prefixでまとめることで、複数サイトも管理しやすい。
ただ、ドキュメントルートにLaravel本体を置くのはセキュリティ上よろしくないと思うので、
正しい解決策ではないかもしれません。