在domain.com/app文件夹中使用laravel

时间:2014-04-25 07:51:31

标签: .htaccess laravel laravel-4

在实时服务器上(不在本地)我想像我这样展示我的Laravel应用程序:

www.domain.com/app,然后会显示该网站。

我该怎么做? .htaccess可以这样做吗?

我的.htaccess如下:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /dev
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

我的路线也是:

Route::group(array('domain' => 'domain.com/dev/'), function() {

Route::get('admin', 'AdminController@login');
Route::post('admin/postlogin', array('as' => 'admin.postlogin', 'uses' => 'AdminController@postlogin'));
Route::get('admin/dashboard', array('as' => 'admin.dashboard', 'uses' => 'AdminController@dashboard'));
Route::get('admin/dashboard', 'AdminController@dashboard')->before('auth');
Route::get('admin/logout', 'AdminController@logout');
Route::get('admin/pages','PagesController@index')->before('auth');
Route::get('admin/pages/create','PagesController@create')->before('auth');
 lots more routes but wont post them all.

 main one
  /*
 * Frontend
 */
Route::get('/{slug}', 'HomeController@showPage');
Route::get('/', function(){
    return Redirect::to('/home');
});

2 个答案:

答案 0 :(得分:0)

在这种情况下,我实际上会在服务器上创建文件夹,并将通常位于/ public文件夹中的所有文件上传到这个新的/ public / app文件夹。

然后编辑public / app / index.php以反映这一点。

变化:

require __DIR__.'/../bootstrap/autoload.php';

...

$app = require_once __DIR__.'/../bootstrap/start.php';

要:

require __DIR__.'/../../bootstrap/autoload.php';

...

$app = require_once __DIR__.'/../../bootstrap/start.php';

希望您不必使用.htaccess或路线文件。

答案 1 :(得分:0)

我做了类似的事情,这就是我习惯的事情:

RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ app/$1 [L]