2017-01-23 2 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()); 

... но есть ли способ сделать это, где вы можете сказать: «А начало из индекса "?

Мне интересно, потому что мне удалось загрузить мое приложение Laravel из установки Wordpress, но все действительно работает только на главной странице «/», так как это также URL-адрес в приложении Laravel. Как только я перейду на страницу на сайте Wordpress, которая не совпадает с URL-адресом Laravel, ничто не захочет работать, потому что $ response - это всего лишь 404 страница. Не удается аутентифицировать пользователей или что-то еще.

Я могу вручную исправить это, добавив каждый URL-адрес Wordpress. Я хочу использовать функции Laravel в файле /web.php, но это не так.

Я думаю, мне нужно выяснить, как сказать ... сделать приложение Laravel и действовать так, как будто вы находитесь на главной странице, а не какой-то случайный uri, взятый из Wordpress.

ответ

1

Это трудно сказать, от вопроса о том, что обработке AUTH, но вы можете лечить приложение 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 используется панель back/admin. Вы когда-нибудь использовали его с целью панели Laravel back end/admin и интерфейса WordPress? – Octoxan

+0

Это интересный вопрос - не забудьте проверить и сообщить людям, как вы идете, потому что я уверен, что другие будут искать то же самое в будущем. – Chris

+1

Я закончил тем, что пошел с подстановочным знаком и позволил WP обрабатывать все 404, так как бэкэнд Laravel в любом случае не является общедоступным. Прекрасно работает! Теперь вы можете использовать функции Laravel и звонить по всему сайту Wordpress. Я проведу Corcel через несколько недель, когда я не так хрустел на время! – Octoxan