私はLaravelでWebアプリケーションを構築しています。
Wordpressのバックエンドを使いたいのですがほとんどのCMS関連のもののフロントエンド。私はWordpressのフロントエンドにしたいのですが、それはクライアントのために保守するのがより簡単で、そして多くのサイトのユーザー向けページはwordpressから来ることができるコンテンツです。
このサイトにワードプレスのページを表示させたい if そのルートはLaravelによって処理されていません。
http://webapp.com/ - >(ランディングページ)from Wordpress
http://webapp.com/laravelRoute - >ララヴェル
http://webapp.com/some-post-url - > Wordpress。
LaravelとWordpressにルーティングをうまく機能させることでこれを達成するにはどうすればよいですか。
私は「public /フォルダにWordpressをインストールしようとしましたが、Laravelルートを認識しません。一般的なWordpressサイトのように動作します。
回答:
回答№1は1同じレベルでLaravelとWordpressの両方をマージするには、2つ以上の選択肢があります。
最初のオプションは、.htaccess書き換えルールを設定し、すべてのLaravelルートをlaravel-index.phpファイルにリダイレクトすることです。 Laravelアプリのindex.phpファイルをそれに変更します。
2番目のオプションはワードプレスを無効にすることですindex.phpファイルを使用し、代わりにLaravelを使用します。laravelでは、Wordpressオブジェクトを呼び出すcatch allルートを作成します。したがって、この方法では、Laravelルートを作成するだけで、残りはWordpressに渡されます。
回答№2の場合は0
これが私がそれを直すことができた方法です。
http://example.com/ - > Laravelコード
<laravel code rood>/public/pages
- >ワードプレスコード
あなたはアクセスできるはずです http://example.com/pages/
- >ワードプレスの内容から。
WordpressのURLリダイレクトを処理するようにnginxを設定する必要もあります。
...
location /pages/index.php(/.*)?$ {
fastcgi_split_path_info ^(/pages/index.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 1000;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
location /pages/ {
if (!-e $request_filename) {
rewrite ^.*$ /pages/index.php last;
}
try_files $uri $uri/ pages/index.php?args;
}
location / { ...