月収10万円を稼ぐ元SEO1位の商標ペラサイトを公開します

公開日:2018年6月10日 

All-in-One WP MigrationでTOPページ以外の記事が404エラー!対処法は.htaccess

Pocket



前回の記事の方法↓↓でインポートは成功しました。

 ?All-in-One WP Migrationでインポートできない時の対処法

しかし今度は、TOPページ以外の全ての記事が404 Forbiddenになってしまう現象に出会いました。

特に、

  • 同一ドメインのサーバー移転

ではなく、

  • 別ドメインのWPデータの引越し

の場合にこの問題が起きるようです。

ちゃんと記事編集画面ではURLも置換されて正常なのに開くとエラーになる。

このエラーを直すには、.htaccessというファイルを適切な記述を追記して再アップロードする

FFFTPやファイルジラ等のFTPソフトで、サーバー側にある「.htaccess」というファイルを開いてください。

開いたら下記のコードを.htaccessファイルに追記して、自分のパソコンのどこかに保存。

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

保存した新しい.htaccessファイルを先ほどのサーバーにアップロードし、.htaccessファイルを上書きする形をとってください。

これで解決します。

なお、https化やwww.の統一のコードも一緒にする場合

私は基本的には中古ドメインにワードプレスを設置したサイトを気が狂ったように量産しまくって検索結果を埋め尽くして無理やり報酬をバク上げするというサイコパスな手法を得意としています。

そのため、中古ドメインにありがちな「http://www.〇〇.com」といった「www.」をつけるか付けないかの、URLの統一も.htaccessファイルに記述します。

さらに、「http」ではなく「https」、つまりはSSL化するのが今はもう主流なので、その統一も.htaccessファイルに記述します。

また、ワードプレスの場合はよく知りませんが何故か必ず.htaccessファイルに

「# BEGIN WordPress

# END WordPress」

という記述があるので、それも消さずに残します。

 

すると、結局完成形である.htaccessファイルの記述ってどんな?

 

という疑問が出ると思いますので、私の記述方法を下記に記しますね。

「www.」有りのURLに統一する場合

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^〇〇\.com$
RewriteRule ^(.*)$ http://www.〇〇.com/$1 [R=301,L]

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# 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>

# END WordPress

 

「www.」無しのURLに統一する場合

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.〇〇\.com$
RewriteRule ^(.*)$ http://〇〇.com/$1 [R=301,L]

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# 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>

# END WordPress

 

これで大丈夫です!

 関連記事:All-in-One WP Migrationでインポートできない時の対処法

Pocket


オンライン指導の実績


Warning: Use of undefined constant お名前 - assumed 'お名前' (this will throw an Error in a future version of PHP) in /home/paparazzi/hebrakaela.com/public_html/wp-content/themes/refinepro/comments.php on line 31

Warning: Use of undefined constant メールアドレス(公開されません) - assumed 'メールアドレス(公開されません)' (this will throw an Error in a future version of PHP) in /home/paparazzi/hebrakaela.com/public_html/wp-content/themes/refinepro/comments.php on line 33

Warning: Use of undefined constant ウェブサイト - assumed 'ウェブサイト' (this will throw an Error in a future version of PHP) in /home/paparazzi/hebrakaela.com/public_html/wp-content/themes/refinepro/comments.php on line 35

コメントを残す