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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

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

Q&A

解決済

3回答

1263閲覧

WordPressの管理画面でページ送りをするとURLがずれて404になる

raidomaru

総合スコア106

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

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

0グッド

0クリップ

投稿2017/08/31 07:46

###前提・実現したいこと
ドメインの変更がありbefore.comからafter.comに移行しました。

サーバーの設定でhttps://after.comの公開ディレクトリをafterに設定しました。
その下層にanother_dirを作成し、こちらにWPをインストールいたしました。

一般設定でサイトのURLをhttps://after.comとしてあります。
WordPress アドレス (URL)はhttps://after.com/another_dirとなっております。

移行前も構造は同じです。

移行前は問題なかったのですが、移行後管理画面で記事一覧のページ送りやソートをするとURLが書き換わり404になってしまいます。
本来は下段のようになるはずが上段のようになってしまいます。
例)
https://after.com/wp-admin/edit.php?post_type=page&orderby=date&order=desc
https://after.com/another_dir/wp-admin/edit.php?post_type=page&orderby=date&order=desc

移行後に起きた問題なのでリダイレクトのために書いた.htaccessが原因ではないかと考えているのですが、
その先が分からない状態です。
サイトの表示自体は問題なくできております。

お力添えいただけますと幸いです。

#before.comの.htaccess
before.comと結びついているbeforeディレクトリ内.htaccessにリダイレクト用の記述をしました。

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(before.com)(:80)? [NC] RewriteRule ^(.*) https://after.info/$1 [R=301,L] </IfModule> # BEGIN 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>

WPをインストールしているbefore/another_dirでは下記の通り記載しています。

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(beofre.com)(:80)? [NC] RewriteRule ^(.*) https://after.com/$1 [R=301,L] </IfModule> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /another_dir/ RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /another_dir/index.php [L] </IfModule> # END WordPress

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

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

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

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

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

guest

回答3

0

another_dirのディレクトリがwordpressに設定されていないのが原因だと思いますので、
もしかしたらパーマリンクが切れているのかもしれません。
「設定」→「パーマリンク設定」で再設定してみてください!

投稿2017/08/31 07:55

編集2017/08/31 07:56
Higemura

総合スコア274

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

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

raidomaru

2017/08/31 10:10

回答ありがとうございます。パーマリンクを再設定しましたが状況は変わりませんでした。
guest

0

自己解決

wp-confing.phpに下記記述があったために起きておりました。
みなさまありがとうございました。

php

1if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) { 2 $_SERVER['HTTPS'] = 'on'; 3 $_ENV['HTTPS'] = 'on'; 4 $_SERVER['HTTP_HOST'] = 'before.com'; 5 $_SERVER['SERVER_NAME'] = 'before.com'; 6 $_ENV['HTTP_HOST'] = 'before.com'; 7 $_ENV['SERVER_NAME'] = 'before.com'; 8}

修正後

php

1if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) { 2 $_SERVER['HTTPS'] = 'on'; 3 $_ENV['HTTPS'] = 'on'; 4 $_SERVER['HTTP_HOST'] = 'after.com'; 5 $_SERVER['SERVER_NAME'] = 'after.com'; 6 $_ENV['HTTP_HOST'] = 'after.com'; 7 $_ENV['SERVER_NAME'] = 'after.com'; 8}

投稿2017/11/10 05:57

raidomaru

総合スコア106

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

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

0

こんにちは、いくつか原因の可能性として思いつきましたので箇条書きで書いてみます。
すでにやられていることもあるかもしれませんがご了承ください。

★★★
以下の操作は管理画面にブラウザからアクセスできなくなる可能性もあるので
ftp,sshなどでサーバにアクセスできる状態を確保し、バックアップをとるなどしてから行ってください。

・サイト表示は問題ないかブラウザのキャッシュ、クッキーを削除してアクセスしてみる。
(普段使っていないブラウザやデバイスだとより確実です)

・管理画面はhttps://after.com/another_dir/wp-adminにしたいと書かれていますが
サイト側の表示はhttps://after.com/another_dir/exampleのような形にしたいのでしょうか?
もしそうであれば一般設定→サイトのURLをhttps://after.com/another_dirにしてみる。

・管理画面がhttps://after.com/wp-adminでも問題なければ
一般設定→WordPress アドレスをhttps://after.comにしてみる。

・サーバ側のドメインに設定しているルートディレクトリを確認。
サーバによってはサーバの管理画面から設定できる場合もあったり
sshで接続してapacheのバーチャルホスト設定を確認しなければならなかったりします。

可能な範囲でサーバの状況など(どこのレンタルサーバなのか、VPSなのか)もう少しご提示いただければ回答がつくかもしれません。

1点確認もお願いいたします
htaccessの『WPをインストールしているbefore/another_dir』というのは
before.comにもanother_dirがあってそこにwpをインストールしていたということでしょうか。
それともafter/another_dirの間違いでしょうか。

投稿2017/09/17 09:39

ruuusaamarki

総合スコア468

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問