nginx上でルート(/)にLaravelを設置して、サブディレクトリ(/blog/)にWordPressを設置する方法です。
LaravelのURLはexample.com
、WordPressのURLはexample.com/blog/
で表示させます。
また、実際のLaravelとWordpressのプログラムファイルは、サーバー上で並列なディレクトリにインストールしています。
また、サンプルプログラムはHomestead上で動作確認をしたソースコードになります。
Webサーバーにはnginxを使用しており、PHPはPHP-FPM(FastCGI)で動作させています。
/etc/nginx/sites-available/ドメイン名
にあるconfファイルに以下の内容を追記して対応しました。
location /blog{
//ここで別のディレクトリを見るようにエイリアスを設定
alias /home/vagrant/WordPressのディレクトリ名;
//fast-cgiの設定
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
}
注意点
WordPressのパーマリンクは基本の/blog/?p=123
形式でないと動作しません。