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

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

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

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

.htaccess

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

解決済

WordPressのサイトの下層ディレクトリにインストールしたWordPressの記事ページが404で表示されない

weblog_life
weblog_life

総合スコア0

WordPress

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

.htaccess

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

1回答

0評価

1クリップ

15閲覧

投稿2019/04/01 05:22

デザイン、プラグインなど個別に使用したいのでマルチサイトではなく、下層ディレクトリに別途WordPressをインストールしたのですがうまく表示されません。

下層ページのTOP以下(記事ページ)などを開くと親ブログの404エラーになります。表示することは可能でしょうか?

親ブログURL https://example.com/
子ブログURL https://example.com/wp/

親ブログの.htaccess

html

<IfModule mod_rewrite.c> RewriteEngine On 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 RewriteCond %{REQUEST_URI} !(^/wp/) RewriteRule . /index.php [L] </IfModule>

子ブログの.htaccess

html

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wp/ 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 . /wp/index.php [L] </IfModule>

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

CHERRY
CHERRY

2019/04/01 06:11

Webサーバーのログには、どのようなメッセージが出力されていますか?
momosiri
momosiri

2019/04/01 07:09

情報が少ないので何ともいえないところではありますが・・・ 単純に親サイトにwpっていうスラグを持つカテゴリーやタグ、投稿タイプなどありませんか??
weblog_life
weblog_life

2019/04/01 07:12

エラーログは特に該当箇所でのログは見当たりませんでした。アクセスログは以下のような感じでした。 "GET /wp/hello-world/ HTTP/2\.0" 404 8281 "https://example/wp/" "Mozilla/5\.0 \(Macintosh; Intel Mac OS X 10_14_4\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/73\.0\.3683\.86 Safari/537\.36" "-"
weblog_life
weblog_life

2019/04/01 07:18

momosiriさん ディレクトリ名と同様のスラッグは特にありません。 親の\.htaccessで該当ディレクトリを除外していますのでトップは表示されるんですが、その下層がでないです。 RewriteCond %{REQUEST_URI} !\(\^/wp/\)
momosiri
momosiri

2019/04/01 07:30

子ブログのURLがhttps://example\.com/wp/で、特に親サイトにwpというスラグがないなら特に RewriteCond %{REQUEST_URI} !\(\^/wp/\) の記述は必要ないと思うんですけどどうでしょう??
weblog_life
weblog_life

2019/04/01 07:38

説明不足していましたが親のパーマリンク設定が以下のようにしているので除外していました。 https://example\.com/投稿名/ /wp/は物理的にファイルがあるので表示されていますが、/wp/投稿名はファイルが存在しないので親の404になっているようなんですが・・・ちなみに該当箇所を外しても同じでした
momosiri
momosiri

2019/04/01 07:52

上のコードを削除してサーバー上で上書き更新した上で、ブラウザのキャッシュをクリアするか、別の(今まで副サイトにアクセスしたことのない)ブラウザでアクセスしたらどうでしょう??
weblog_life
weblog_life

2019/04/01 08:03

変わりませんでした・・・。
CHERRY
CHERRY

2019/04/01 08:18

親側の WordPress で、 \[管理画面\]=>\[設定\]=>\[パーマリンクの設定\] を開いてそのまま \[設定を保存\]ボタンを押して、更新。 子側の WordPress サイトの管理画面にログインして、\[パーマリンクの設定\]を開いて同様に更新。 そして、アクセスするとどうなりますか?
weblog_life
weblog_life

2019/04/01 08:27

どちらもそのままパーマリンク設定を更新すると変わらないのですが、子側のパーマリンク設定を投稿名から基本(\?p=123\)に変更すると表示されました! 表示されるということは、やはり\.htaccessの設定の問題なんでしょうか。
momosiri
momosiri

2019/04/01 14:49

基本(\?p=123\)に変更すると表示されました!・・・ということは、\.htaccess自体が無視されてるのかもしれませんね。 https://codex\.wordpress\.org/Using_Permalinks の公式コーデックスに出ているものですが、サーバー側で\.htaccessを無視するようになっている場合には <Directory /> Options FollowSymLinks AllowOverride All </Directory> を記述することで有効になることもあるようです。詳しくは上記リンクを参照してみてください。
weblog_life
weblog_life

2019/04/02 00:08

親側のパーマリンク設定は投稿名になっているのでサーバー側の設定は有効だとは思います。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

WordPress

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

.htaccess

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