[FC2ブログからWordPress on XSERVER への移転手順(2) ] からの続き
FC2無料ブログから WordPress on XSERVER への移転手順
(1)ブログの引っ越し
(2)アドレス対応リストを作る
(3).htaccessに記述
(4)FC2ブログ側ヘッダに転送スクリプトを記述(javascript利用)
「.htaccess」に記述
「.htaccess」とは?――――そういう名前のファイルがサーバーの各フォルダに置いてあり、それに書いてあるとおりに転送やアクセス拒否などが出来るというものですね。
全てのサーバーで使えるわけではありません。使えるかどうかはサーバーの管理者にお尋ね下さい。(無料ブログサービス等ではほぼ使えません。)
XSERVERでは「.htaccess」が使えるので、そこに転送設定を書いてやればURLの自動転送ができます。
が、その「.htaccess」についてのあまりにも基本的な知識がなさすぎて、困ってしまいました。どこの解説を見ても、そこまで基本的な事は書いてない。
まず、その「.htaccess」ってファイルはどこにあるのさぁ?とか、書き方は?とか。。。
※いや、遠い昔に自宅サーバーとか立てて遊んでた時に弄ってた記憶があるので、初めてではないのですが、綺麗サッパリ忘れましたわ(TーT)
◆「.htaccess」の場所は?
XSERVERの場合、例えば「wp」と言うフォルダ以下にWordPressをインストールしたなら、その「wp」というフォルダ(ディレクトリ)に既に置いてあります。
※これはWPが自動的に生成したもので、中に書いてある事を削除してしまうとWPが起動しなくなりますので注意。
サーバーのひとつ上の階層とか、何もないディレクトリには、このファイルは存在しません。自分で置かない限り、基本的にはない、と言う事ですね。
◆書き方は?
検索すると、拡張機能を使った表記方法ばっかりしか出てきませんが、単純に転送させるだけならシンプルな書き方ができます。
Redirect permanent■制御するフォルダ/ファイルの場所■転送先URL
(※■は半角スペース)
新たに作ったディレクトリのアクセス制御を行いたいなら、新たに「.htaccess」ファイルを作って(テキストエディタで何も書かれていない空白のファイルを作ればOK)、そこに書き込みます。
例えば、サーバー上に「TEST」という新たなフォルダを作って、その中のtest.htmlというファイルへのアクセス要求があった場合に
こんな感じで書くと
Redirect permanent /test/test.html http://www.hogehoge.com/1234.html
サーバーが自動的に「http://www.hogehoge.com/1234.html」に転送してくれます。
※ここでポイントは、制御したいファイル/フォルダのパスは、そのフォルダからの相対表示である必要があるということ。(なんでかまでは知りませんがそういう仕様のようです。試しに絶対パス(http://~)で書いてみたけれど、404になってしまい転送されませんでした。転送先URLは絶対パスでも相対表記でもOKのようでしたが、ディレクトリ名は必須―「./」のような表記ではダメでした。)
さて、前回までに新ブログと旧ブログの記事URL対応表ができているはずですね。その行頭に「Redirect permanent 」を付け加えればOKなわけです。
が、上記のように、アクセス先URLは相対パスでなければなりませんので、そこは修正します。
FC2ブログの場合、現在は
「http://********.blog.fc2.com/blog-entry-1234.html」のようにアドレスが表記されていると思いますので、この「http://********.blog.fc2.com」の部分を除去します。
こんな感じになりますね
Redirect permanent /blog-entry-1234.html 転送先URL
XSERVERでは、既にWordPressをインストールしたディレクトリに「.htaccess」ファイルがありますので、それを一旦ダウンロードして編集して再度アップロードします。
※「.htaccess」というファイル名ではWindowsでは表示できない場合があるので注意。
このファイルを開くと、既にWordPressによって書き込まれているものがありますので、それは絶対に消さず、弄らず、その下にリストをそのまま書き加えればOK
# BEGIN WordPress
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
# END WordPress
Redirect permanent /wp/blog-entry-1417.html /wp/2698.html
Redirect permanent /wp/blog-entry-1789.html /wp/2782.html
Redirect permanent /wp/blog-entry-1905.html /wp/2810.html
・
・
・
(※赤字部分「# BEGIN WordPress」~「# END WordPress」はWordPressに必要な記述なので消さない事。)
実際に「https://pandaignis.com/wp/blog-entry-1789.html」にアクセスして、転送される事を確認。。。
参考
https://httpd.apache.org/docs/2.4/ja/mod/mod_alias.html
https://httpd.apache.org/docs/2.4/ja/mod/mod_rewrite.html
次は、FC2ブログ側の設定へ続きます…
コメント