木+木+木=森

できるだけ言葉にする

本番サイトの管理画面に入れなくなった

ワードプレス化に伴うリダイレクト - 木+木+木=森

 

この記事で.htaccessのリダイレクト設定について書いたけど

その影響で管理画面にログインできなくなってしまった。

 

テストサイトの管理画面にログインしたまま

本番サイトの管理画面にログインしようとして

それから本番サイトの管理画面にログインできなくなってしまった

 

ログインボタンを押すと、元のログイン画面に戻ってしまう

色々と調べて、最終的に.htaccessファイルを削除したらログインできた!

 

.htaccessを設定したあとも普通にログインできていたので、

それが原因とは思わず、すごく時間を無駄にしてしまった

 

でも解決してよかった

 

よくわからないけど、原因はたぶん

.phpが付いているページをすべて拡張子なしにリダイレクトしていたこと

.phpで運用していたページはnews.phpのみだったので

決め打ちの設定に変更したところ、管理画面のリダイレクトは解消されました。


# BEGIN 自分
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

# httpsに統一
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# wwwなし に統一
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# index.php(.html)なしに統一
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/$1 [R=301,L]

# news.phpをnewsに
RewriteCond %{THE_REQUEST} ^.*/news.php
RewriteRule ^(.*) https://minotake-books.com/news/ [R=301,L]

# サブページを.htmlなしに統一
RewriteCond %{THE_REQUEST} \.html\ HTTP
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

</IfModule>
# END 自分

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

# END WordPress

固定ページに記事を表示

固定ページに記事を表示する

タクソノミー一覧と同じやり方で表示できた!と思っていたけど

パンくずリストがおかしい

 

一覧ページと固定ページに表示するやり方は違うらしい

とりあえず下記記事を見て修正

パンくずリストも正しく表示されるようになった(よかった)

WordPressで投稿・記事一覧を表示する方法(固定ページについても)|BringFlower

ワードプレス化に伴うリダイレクト

ワードプレス化以前は

トップページ以外にhtmlないしphpがついていたので

それを拡張子なしのURLに統一したい

 

調べた方法でやってもうまくいかない

なんでーーーと思いながら平日は時間がなく、かなり時間が経ってしまった

 

下記を参考にしながらなんとかできた?と思う

サイトURLから.htmlや.phpなどの拡張子を非表示にする方法 | Free Style

.htaccess よくあるURL正規化やリダイレクトの書き方 WordPress対応版 #WordPress - Qiita

もっとシンプルに書けるのかもしれないけど、一旦これで。


# BEGIN 自分
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

# httpsに統一
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# wwwなし に統一
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# index.php(.html)なしに統一
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/$1 [R=301,L]

# サブページをindex.php(.html)なしに統一
RewriteCond %{THE_REQUEST} \.(php|html)\ HTTP
RewriteRule ^(.*)\.(php|html)$ /$1 [R=301,L]

</IfModule>
# END 自分

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

# END WordPress
 

ホームページのワードプレス移行

サブドメインにテストサイトにしていたので、

簡単引っ越しツールでサブドメイン→メインドメインに移行するつもりでいた。

【参考】

SEOの影響なくサブドメインからメインドメインへ移行する方法【エックスサーバー編】 | セミリタラボ

 

がしかし、何回やってもエラーになって失敗になる

仕方ないので諦めて下記の手順で本番公開した。

 

①新しくデータベース を作成

ロリポップサーバー で①のデータベース にワードプレスをインストール

サブドメイン(旧サイト)のデータベース をエクスポート

④③をメインドメイン(新サイト)のデータベース にインポート

⑤旧サイトの中身をAll-in-One WP Migrationで容量が許す限りをエクスポート(主にテーマ)

⑥新サイトにもAll-in-One WP Migrationをインストールしてインポート

⑦投稿記事やメディアなどは容量オーバーだったため、ツール→エクスポートで対応

⑧⑦のダウンロードデータを新サイトにインポート

 

※このままだとメディアがエクスポートされないので、「Export media with selected content」というプラグイン を追加して行う

【参考】

アイキャッチ画像もOKなWordpress記事のインポート方法 | 合同会社LOFIR - WEBサイト制作・保育教材・手袋シアター・WEBマーケティング支援。

 

※カスタム投稿タイプはエクスポート設定がFalseになっているとエクスポートできないのでTrueに変更する

【参考】

WordPressでカスタム投稿タイプの記事がエクスポートできない問題 | 五平餅くんの部屋

 

※投稿タイプやタクソノミーは、Custom Post Type UIのツールから設定コピーして新サイトに貼り付ける

 

ビジュアルエディタの改行について

ビジュアルエディタのEnterを押すと

改段になってしまう件について

function my_tiny_mce_before_init( $settings ) {
    $settings[ 'forced_root_block' ] = FALSE; //Shift+Enterの動きが逆になる
    return $settings;
}
add_filter( 'tiny_mce_before_init', 'my_tiny_mce_before_init' );

MySQLのアップデート

ロリポップ!でMySQLを更新する手順(5.6→8.0)

ロリポップ・データベース(MySQL8.0 (← 5.7(5.6)バージョンアップデートの手順 | サイトカスタマイズの覚え書き「ブログのblog」

 

新しいデータベースにインポートするときにエラーが出た

エクスポートデータの旧データベース名を新しいものに書き換えたら解決した