状況
◆メインドメインサーバー
見出し | 内容 |
---|---|
OS | AlmaLinux 9.3 |
Webサーバー | Apache2.4 |
ドメイン | hogehoge.com |
◆サブドメインサーバー
見出し | 内容 |
---|---|
OS | AlmaLinux 9.3 |
Webサーバー | KUSANAGI Version 9.6.6-1.el9 (Nginx1.27とApache2.4のどちらも稼働) |
ドメイン | sub.hogehoge.com |
メインサイト( https://hogehoge.com/ )から
別サーバーのサブドメイン( https://sub.hogehoge.com/ )Wordpresssサイトへリバースプロキシを設定し
https://hogehoge.com/sub/ へアクセスしたら
サブドメイン( https://sub.hogehoge.com/ )を表示するように設定。
↓
サブドメインのWordPressアドレス、サイトアドレスを https://hogehoge.com/sub/ へ変更。
上記設定をしましたが、管理画面内の投稿画面やメディアへのリンク先URLが
https://hogehoge.com/wp-admin/edit.php のようにサブディレクトリが削除されたURLとなってしまいます。
サブドメイン側のパスを合わせれば解決するのは分かるのですが
KUSANAGIの仕様上サブディレクトリでの動作保障がされていないため
サブドメイン側のWordpressはドキュメントルートで動かしたいです。
また、ログイン中のWordpressツールバーも利用したいため、
サブドメインURLではなくメインドメインURLで管理画面内を操作したいです。
この場合、どのように設定すれば良いのかご教示いただければ幸いです。
メインドメインが稼働しているサーバー
見出し | 内容 |
---|---|
OS | AlmaLinux 9.3 |
Webサーバー | Apache2.4 |
ドメイン | hogehoge.com |
/etc/httpd/conf/httpd.conf に下記を追加
LoadModule proxy_module modules/mod_proxy_http.so LoadModule proxy_http_module modules/mod_proxy.so LoadModule ssl_module modules/mod_ssl.so SSLProxyEngine On ProxyRequests off <Location "/sub"> ProxyPass http://sub.example.com ProxyPassReverse http://sub.example.com ProxyPassReverseCookieDomain sub.example.com example.com ProxyPassReverseCookiePath / /sub/ </Location>
サブドメインが稼働しているサーバー
見出し | 内容 |
---|---|
OS | AlmaLinux 9.3 |
Webサーバー | KUSANAGI Version 9.6.6-1.el9(Nginx1.27とApache2.4のどちらも稼働) |
ドメイン | sub.hogehoge.com |
①サーバー作成直後に下記コマンドを実行
※Nginx、Apache共に稼働していて、ドキュメントルートにWordpressがインストールされています。
kusanagi init kusanagi provision kusanagi httpd-behind-nginx
②wp-config.php に下記を追加
if (isset($_SERVER['HTTP_X_FORWARDED_HOST']) && $_SERVER['HTTP_X_FORWARDED_HOST'] === 'hogehoge.com') { $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST']; $_SERVER['SERVER_NAME'] = $_SERVER['HTTP_X_FORWARDED_SERVER']; $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR']; } define('WP_SITEURL', 'https://hogehoge.com/sub'); define('WP_HOME', 'https://hogehoge.com/sub'); define('WP_CONTENT_URL', 'https://hogehoge.com/sub/wp-content'); define('FORCE_SSL_ADMIN', true); $_SERVER['HTTPS'] = 'on';
③ドキュメントルート直下の .htaccess は初期のまま
# vim: ft=apache et sw=4 <FilesMatch "^\.ht"> Require all denied </FilesMatch> <Files "wp-login.php"> Require ip 127.0.0.1 AuthType Basic AuthName "ENTER YOUR NAME & PASSWORD TO LOGIN" AuthUserFile /home/kusanagi/.htpasswd Require valid-user </Files> #<Files "xmlrpc.php"> # Require all denied #</Files> <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_URI} !\.(gif|css|js|swf|jpeg|jpg|jpe|png|ico|swd|pdf|svg|eot|ttf|woff)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。