質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

1744閲覧

WordPress 複数インストール時 .htaccsess について

_magurochan

総合スコア13

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2020/02/22 14:10

編集2020/02/24 11:30

#現在の状況

カラフルボックスというレンタルサーバーで、WordPressを使っています。

現在2つのサイトを作る為に、二つWordPressをインストールしています。

/public_html/example.com/wp_Appleblog01
/public_html/example.com/wp_Bananablog01
という場所にそれぞれインストールしました。

##その1

wp_Appleblog01の方(以下、Appleブログ)は、https://example.comで表示できるように、設定画面のサイトアドレスを変更して、パーマリンク設定も**変更を保存**して更新しました。

以下,AppleブログのWPが生成した.htaccsessです。
場所は、/public_html/example.com/.htaccess
です。

# BEGIN WordPress # `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

##その2
wp_Bananablog01の方(以下、Bananaブログ)は、https://example.com/Banana/で表示させたいです。
なので、/public_html/example.com/Banana/というフォルダーを作成、index.phpを置きました。

<?php /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define( 'WP_USE_THEMES', true ); /** Loads the WordPress Environment and Template */ require( dirname( __FILE__ ) . '/../wp_Bananablog01/wp-blog-header.php' );

次に、設定画面のサイトアドレスを変更し、パーマリンク設定も変更を保存し更新しようとしましたが、**.htaccess を更新する必要があります。**とエラーが出ました。

そして、パーマリンク設定画面の下に表示されていたコードを、/public_html/example.com/wp_Bananablog01/.htaccessに書き込み(書き換え?)ました。

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /Banana/ RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /Banana/index.php [L] </IfModule>

しかし、パーマリンク設定の画面では同じエラーが出ています。

一番上の基本にチェックを入れると問題は起こりません。
また、https://example.com/Bananaのトップページだけは表示できます。

#やりたいこと

その2で書いた、/public_html/example.com/wp_Bananablog01/にインストールしたWPを、https://example.com/Bananaで表示できるようにしたいです。

その1のパターンは、Google検索でたくさん見つかります。しかし、その2のパターンについては、関連しそうなページは見つかりませんでした。

助けてください。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Eggpan

2020/02/24 00:15

hoge.comは実在するドメインですので、例示用ドメインか、自身が所有しているドメインに修正をお願いします。
guest

回答1

0

ベストアンサー

質問の構成だと、Bananaブログの.htaccessは/public_html/example.com/Banana/.htaccess に記載する必要があります。
設置パスが違うため更新が必要というメッセージが出続けているのかと思います。

メッセージが出て.htaccessを手動で設置する必要がある原因は
パーミッションが原因でWordPress自身での.htaccess変更ができないためです。

下記のような構成になっているか確認してみてください。
(ドメインは例示用のものに書き換えてます)

Appleブログ

ドキュメントルート
/public_html/example.com

htaccess
/public_html/example.com/.htaccess

WordPressインストールディレクトリ
/public_html/example.com/wp_Appleblog01

サイトアドレス
https://example.com

WordPressアドレス
https://example.com/wp_Appleblog01


Bananaブログ

ドキュメントルート
/public_html/example.com/Banana

htaccess
/public_html/example.com/Banana/.htaccess

WordPressインストールディレクトリ
/public_html/example.com/wp_Bananablog01

サイトアドレス
https://example.com/Banana

WordPressアドレス
https://example.com/wp_Bananablog01


追記

メッセージが表示される際の動作を確認してみたのですが、手動で書き込む場合、 自動書き込みと同様、htaccess に# BEGIN WordPressが含まれていないとメッセージは消えないようです。(内容があっていれば動作はします)

下記の様にコメント付きで /public_html/example.com/Banana/.htaccess を編集してみてください。

htaccess

1# BEGIN WordPress 2<IfModule mod_rewrite.c> 3RewriteEngine On 4RewriteBase /Banana/ 5RewriteRule ^index.php$ - [L] 6RewriteCond %{REQUEST_FILENAME} !-f 7RewriteCond %{REQUEST_FILENAME} !-d 8RewriteRule . /Banana/index.php [L] 9</IfModule> 10# END WordPress

投稿2020/02/24 00:26

編集2020/02/24 21:29
Eggpan

総合スコア3205

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_magurochan

2020/02/24 11:44

.htaccessの場所は、回答通りの場所ですが、エラー表示は変わりません。 また、関係するフォルダー・ファイルのパーミッションがどのような状態だと正しく動作するのでしょうか よろしくお願いします。
Eggpan

2020/02/24 11:53

htaccessの更新に関しては、htaccessを設置しているディレクトリのOwnerがwebサーバのユーザ(apache、www-dataなど)で、かつOwnerが書き込み可能である必要があります。
_magurochan

2020/02/24 14:41

public_html/example.com/Bananaも、public_html/example.com/Banana/.htaccessも、権限を777とかにしてみても、.htaccessのを更新する必要があります。エラーが変わらずに出ています。
Eggpan

2020/02/24 14:52

OwnerがWebサーバのユーザでないと、パーミッション777でも更新エラーは出ます。chownする必要があります
_magurochan

2020/02/24 15:58 編集

https://tebasaki.xyz/2018/02/07/wordpress%E3%81%A7-htaccess%E3%82%92%E6%9C%89%E5%8A%B9%E5%8C%96%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ このページを参考にchownしてみようと試したのですが、この場合のapache:{workgroup}のworkgroupは何?となってしまいました。。 また、nobody:nobody を指定すると chown nobody:nobody .htaccess chown: `.htaccess' の所有者を変更中: 許可されていない操作です となりました。 sudo su も使えないです。
Eggpan

2020/02/24 21:33

sudoはフル権限になるので、レンタルサーバ等では使えなかったり制限があることが多いです。 .htaccessですが > そして、パーマリンク設定画面の下に表示されていたコードを、/public_html/example.com/wp_Bananablog01/.htaccessに書き込み(書き換え?)ました。 と質問に記載したパスが間違っていて、修正したのは/public_html/example.com/Banana/.htaccess である、という事であってますか? きちんとした配置になっていればサブディレクトリでも問題なく動作しそうではあるのですが・・。
_magurochan

2020/02/25 07:39 編集

ありがとうございます。 お返事・回答の追記を確認しました。 >> そして、パーマリンク設定画面の下に表示されていたコードを、/public_html/example.com/wp_Bananablog01/.htaccessに書き込み(書き換え?)ました。 >と質問に記載したパスが間違っていて、修正したのは/public_html/example.com/Banana/.htaccess である、という事であってますか? 前者の場所にあった、.htaccessを後者のexample.com/Banana/.htaccessにコピーしています。なので、おっしゃる通りです。 そして、もともと/public_html/example.com/Banana/.htaccessは、修正しなくてもコメントBEGIN-ENDで囲んでいるコードでした。 一応、回答の追記をコピペして、再度public_html/example.com/Banana/.htaccessを更新しましたが、 .htaccessのを更新する必要があります。エラーが変わらずに出ていますね、、、 追記 サーバー会社に問い合わせたところ、su sudo chownは使えないそうです。 なので、それ以外の方法で解決しないといけないようです。
Eggpan

2020/02/25 11:20

コメント記載に誤りがありました。すみません。 書き込みできないエラーについてですが、「WordPress アドレス (URL)」の中に「サイトアドレス (URL)」が含まれてないと表示されてしまうようでした。(get_home_pathが / を返すため / のパーミッション判定になってしまい、書き込みできないため) AppleブログはサブディレクトリがWordPressアドレスなので自動で書き込みできますが、Bananaブログは別ディレクトリなので自動書き込みできません。 なのでパーマリンク設定画面のメッセージは正しく設定しても表示され続けます。 (手動で正しく設定すればページは表示されます) Appleブログ、Bananブログそれぞれ、トップ以外のページを表示しようとした際、どのような状態なのでしょうか。 ・どのファイルがどの様な状態か ・どのURLでどのような表示になってしまうか について、質問文を修正して詳細に記載いただいたほうが良さそうです。他の回答もつくかもしれません。
_magurochan

2020/02/25 23:58

>Bananaブログは別ディレクトリなので自動書き込みできません。 >なのでパーマリンク設定画面のメッセージは正しく設定しても表示され続けます。 >(手動で正しく設定すればページは表示されます) なるほどです。改めてBananaブログを表示してみたところ、しっかりパーマリンク設定が有効になっていました。 example.com/Banana/2019/12/post-title example.com/Banana/category/〇〇 の形で、問題なかったです。 問題はとりあえず解決しました。丁寧に答えてくださり助かりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問