2017-01-23 77 views
1

我知道這是可能通過做這樣的事情從另一個框架內加載了一個Laravel應用...從不同的域名啓動Laravel 5.3應用程序?

require $_SERVER['DOCUMENT_ROOT'].'/../laravel-site/bootstrap/autoload.php'; 
$app = require $_SERVER['DOCUMENT_ROOT'].'/../laravel-site/bootstrap/app.php'; 

$kernel = $app->make('Illuminate\Contracts\Http\Kernel'); 
$response = $kernel->handle($request = Illuminate\Http\Request::capture()); 

...但有沒有辦法做到這一點,你可以說「並開始從索引「?

我想知道是因爲我設法從Wordpress安裝啓動了我的Laravel應用程序,但是一切確實只在主頁「/」上運行良好,因爲這也是Laravel應用程序中的URL。一旦我去到WordPress網站上的一個與Laravel網址不匹配的頁面,沒有什麼東西想工作,因爲$迴應只是404頁面。無法驗證用戶或任何內容。

我可以手動修復它,方法是將我想要使用Laravel功能的每個WordPress網址添加到routes/web.php文件中,但這並不乾淨。

我在想我需要弄清楚怎麼說...製作Laravel應用程序,並像您在主頁面上一樣行動,而不是從Wordpress中選取一些隨機的uri。

回答

1

很難從什麼是處理身份驗證的問題說,但你可以治療的Laravel應用作爲主要的應用程序,用「包羅萬象的」退回到WordPress的 - 未經測試,但這樣的:

// Registration Routes... 
Route::post('register', 'Auth\[email protected]'); 

// Password Reset Routes... 
Route::post('password/email', 'Auth\[email protected]'); 
Route::post('password/reset', 'Auth\[email protected]'); 

Route::group(['middleware' => ['auth']], function() { 
    // foo 2 
}); 

Route::get('{any}', function() { 
    require_once(/* wordpress index path */; 
})->where('any', '.*'); 

404的和不明顯的需要在Wordpress中處理。

如果您需要Laravel和WP說話,這個庫是巨大的:https://github.com/corcel/corcel

+0

看起來真的很有趣!明天我必須先做出這樣的第一件事。至於Corcel,我知道它說它是用WordPress作爲後端/管理面板。你有沒有用過Laravel後端/管理面板和WordPress前端的意圖? – Octoxan

+0

這是一個有趣的問題 - 請務必檢查並讓人們知道你將如何去,因爲我相信其他人會在未來尋找相同的東西 – Chris

+1

我最終使用通配符並讓WP處理所有的404,因爲無論如何,Laravel後端並非公開訪問。很棒!現在可以使用Laravel函數並調用整個Wordpress網站。幾個星期後,當我不那麼緊張時,我會檢查Corcel! – Octoxan

相關問題