Nginxリバースプロキシサーバーの後ろにDjangoのWebサイトがあります。私はWordPress(WP)でブログを始めたいので、WPを実行する別のLAMPサーバー(PHP-FMを使用)を作成しました。私は良いSEOのスコアを維持するために私のウェブサイト上のブログのURIを "mysite/blog"にしたい。そのために、LAMPサーバーのWPブログサイトを指すnginx仮想サブディレクトリを作成しました。しかし、自分のウェブサイトからブログに接続しようとすると、404エラーが発生します。私は私のApache仮想ホストの設定を変更する必要があると思うが、私はそれを行う方法を理解することはできません。ここでApache仮想サーバーに到達するためのNginx仮想ディレクトリの構成方法
は私のnginxの設定ファイルの関連する部分です:
# /etc/apache2/sites-available/vhosts.conf
DirectoryIndex index.php index.html
<VirtualHost *:80>
ServerName "cms00.mysite.com"
Redirect permanent/https://cms00.mysite.com
</VirtualHost>
<VirtualHost *:443>
ServerName "cms00.mysite.com"
DocumentRoot "/var/www/html/mysite.com"
...
<Directory "/var/www/html">
AllowOverride All
Options -Indexes -Includes +FollowSymLinks
Require all granted
</Directory>
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
注WordPressのは、あなたの中にWPをインストールするように助言すること:ここで
# /etc/nginx/sites-available/mysite.conf
server {
listen 80;
server_name web00.mysite.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name web00.mysite.com;
...
location /blog {
proxy_pass https://cms00.mysite.com;
}
}
は私のApacheの設定ファイルの関連する部分ですウェブサイトのドキュメントルート(私の場合は/var/www/html/mysite.com)で、別のサブディレクトリではありません。 WPがドキュメントルートの下にある独自のサブディレクトリにインストールされていると、多くのWPプラグインは機能しません。
ブラウザに「cms00.mysite.com/wp-login.php」と入力すると、Wordpress Userのログインページが表示されます。しかし、「web00.mysites.com/blog」と入力すると、WPの「おっと!そのページが見つかりません」と表示されます。エラー。私は、Apacheのログに404エラーを見ることができます:
... "GET /blog/ HTTP/1.0" 404 ...
私はなぜこれが起こっている私は理解して信じています。私のリクエストは、https ::/cms00.mysite.com/blogとしてWPサーバーに渡されています。しかし、https://cms00.mysite.comはすべてのWPファイルを含むドキュメントルート/var/www/html/mysite.comを指しています。 'blog'サブディレクトリはありません。私が作成してHTMLファイルを入れて、ページを更新すると、そのファイルが表示されます。
URI、https://web00.mysite.com/blogを使用してWPブログにアクセスできるように、NginxやApacheを設定するにはどうすればよいですか?