私はWPに基づいて実行中のブログを持っています。現在、私は同じ(サブ)ドメイン上で実行されるはずのLaravelを使って新しいWebアプリケーションを開発しています。新しいWebアプリケーションは、Webサイトの新しい開始ページ/ホームページ/ドキュメントルートwww.xyz.xyz/でなければなりませんが、私は現在のWP URL構造を変更したくありません - 私はサブディレクトリでWPを実行したくありません - だからWPのようにすべてが残っていて、開始ページはlaravelによって提供され、wordpressでは提供されないという既存のURLの横にある。Wordpress&Laravel nginx
もちろん、ワードプレスの投稿とlaravelのWebページで同じスラッグを使用していたとしても、その場合はLaravelページを提供する必要があります。
私はウェブサーバーとしてnginxを使用しています。誰もこれの前にこのような何かをしましたか?それはnginxレベルで達成することができますか?誰にもこの問題を解決する方法についての提案がありますか?
Laravelが例外ハンドラで行うことができる場合の認識私は例外ハンドラで行うでしょう、もしWPもそれを提供するページを持っていなければ、404を表示する責任があります - それらは同じサブドメイン/ウェブサーバー上で実行されていません。
主な質問は、index.phpとnginxを同じ(サブ)ドメインのLaravel & WPと同じディレクトリで実行するように設定する必要があることです。
/** * HTTP応答に例外をレンダリングします。 * * @param \を照らし\のHttp \要求$要求 * @param \例外$例外 * @return \を照らし\のHttp \レスポンス */ パブリック関数は($要求、例外$例外)をレンダリングする {
if ($this->isHttpException($exception)) {
$statusCode = $exception->getStatusCode();
switch ($statusCode) {
case '404':
if(Cache::store('file')->has('magazin-startpage')) {
echo Cache::store('file')->get('magazin-startpage');
return;
}
$queryParameter = str_replace($request->url(), "",
$request->fullUrl());
$path = $request->getPathInfo();
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_PORT , 443);
curl_setopt($ch, CURLOPT_URL,"https://www.blog.xyz"
.$path.$queryParameter);
curl_setopt($ch, CURLOPT_POST, 1);
$blog = curl_exec ($ch);
curl_close ($ch);
Cache::store('file')->put('www.blog.xyz', $blog, 60);
echo $blog;
return;
break;
}
}
return parent::render($request, $exception);
}
ありがとうございます。
私の最初の投稿を編集しました。あなたの2番目のアプローチに似ていますが、エラーハンドラに似ています。 このようなindex.php + nginxの設定がどのように表示されるのかの例はありますか? ありがとうございます。 – jo182
私は例を持っていませんが、私はあなたがウェブサーバー上のすべてのファイルを持っているので、あなたはwordpress index.phpファイルを使用し、単にcurl要求の代わりにその内容をインポートできるはずだと思います。カールはよりシンプルなので、実際にはWPを別のサブドメインで実行し、カールを使ってこのドメイン上にあるように見えるようにすることができます。 – Loren