


WordPress記事ごとのhead内に任意タグを追加する方法

milkcocoaで 「no permission」エラーが出る問題の解決法

2012年に作成し放置していたこのブログを、1年くらい前にリニューアルして再開させた。
そのときレンタルサーバーのサブドメインから独自ドメインに変更するのにどえらい苦労したわけだが。
そのときの記事:
で、今回またドメイン周りの設定でひと騒動あったので忘備録を残しておこうと思う。
簡単に言うと、Redirectionでサイト単位で301リダイレクトかけたら管理画面にもアクセスできなくなっちまったっつー。
ほんと、当たり前だよな…自分がアホすぎて悲しくなる。
最終的に、管理画面を除外した301リダイレクトの設定を行って解決した。
そもそも一つのサイトでこんなにドメイン設定をすることなどあまりないと思うが…。
方向転換というか、予定変更というか…まぁそんなところだ。
私のアホっぷりだけでなく計画性のなさも露呈しているようでお恥ずかしい限りである。
目次
(変更前)http://terette.com/essay/
↓301リダイレクト↓
(変更後)http://terette.com/
そもそも、なんでまたドメイン周りの設定が必要になったかっつーと。
契約しているサーバー上には、本ブログともう一つブログがある。
つまり同じサーバーにWordpressを二つインストールしており、それぞれ下記のアドレスで運用している。
●http://terette.com/essay/ (本ブログ)
●http://terette.com/eye/ (もう一つのブログ)
で、それぞれのブログのURLをこうしたい。
●http://terette.com/(本ブログ)
●http://terette.me/ (もう一つのブログ)
ということで、まず本ブログのサイトアドレスの変更設定を行った。
まぁこれに関しては色んな方が手順を紹介してくれているので、詳細は割愛する。
WordPressの管理画面にアクセスして、設定>一般設定のページに進む。
サイトアドレス (URL)の項目を変更する。
このままではサイトにアクセスできないので、サイトアドレスに設定したディレクトリにindex.phpを置く必要がある。
まずFTPソフトなどでWordpressをインストールしているディレクトリにアクセスする。
私の場合は/essay/のディレクトリになる。
ここにあるindex.phpをローカルディスクにダウンロードし、以下の行を編集する。
// 変更前
require('./wp-blog-header.php');
↓
// 変更後
require('./essay/wp-blog-header.php');
編集したindex.phpファイルをFTPソフトなどでサイトアドレスに設定したディレクトリにアップロード。
私の場合はルートディレクトリがこのような状態になる。
—————————————————————-
root
│
├ essay ←本サイトのWordpress
│
├ eye ←もう一つのWordpress
│
└ index.php ←アップロードしたファイル
—————————————————————-
基本的にはサイトアドレス変更の手順はこれで終わりである。
もうサイトアドレスでアクセスできるはずだ。
しかしここで私は思った。
アレ?301リダイレクトかけなくていいの?
Wordpressサイトアドレス変更に関する記事はたくさんあるけど、不随作業として301リダイレクトについて述べている人がいない。
え、でも「http://terette.com/essay/」でgoogleにインデックスされてるし、リダイレクトさせた方がいいんじゃね?
つーことで、独断で301リダイレクトをかけることにした。
でまぁ、この作業で失敗して大騒ぎしたわけだが。
Wordpressサイトで301リダイレクトをかける場合、プラグインで簡単にできるので便利だ。
私は以前から「Redirection」というプラグインを使っていた。
なので今回も迷いなくRedirectionで設定することにした。
で、私は本当にアホだったんだがサイト全体レベルで301リダイレクトをかけてしまったのだ。
そうすると何が起こるかというと…。
な、そうなるよな。
当たり前じゃんって話だわ。
だってサイトアドレスに対応するディレクトリには管理画面のファイル置いてないもの。
やっべぇ…管理画面にアクセスできないんだが。
やっちまったな。
Redirectionの設定をしなおしたくても、管理画面にアクセスできねぇ。
詰んだ。
こうなってしまったら、サーバー上のファイルを直接いじって解決するしかない。
まずRedirectionで設定した内容はどのファイルに書き込まれているのかを探した。
.htaccessに書き込まれているものとばっかり思っていたんだが…違うようである。
ぜんっぜんわかんねぇ。(笑)
マジ詰んだ。
仕方ない…。
どうなるかわかんないけど、サーバーからプラグインごと削除しちまうか。
ということで、サーバーのプラグインディレクトリにアクセスしてRedirectionフォルダをごっそり削除。
お~!リダイレクトは解除されたっぽい。
管理画面にも無事アクセスできた。
一安心である。
問題は301リダイレクトをどうやってかけるかだ。
すっかりRedirection恐怖症になったので、.htaccessファイルで直接いじることにした。
まぁいろいろ調べて、下記の記述でうまくいったので載せておこう。
ちなみにいじる.htaccessは、リダイレクト元に置く。
(リダイレクト元)http://terette.com/essay/
↓301リダイレクト↓(管理画面のディレクトリは除外)
(リダイレクト先)http://terette.com/
// 管理画面を除外して301リダイレクト
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !(^/wp-admin/)
RewriteRule ^$ http://terette.com/ [R=301,L]
ちなみにもう一つのブログは、これと同じやり方はできない。
なぜかというと、サーバーのルートディレクトリにindex.phpを二つは設置できないからだ。
ロリポップにはマルチドメイン機能があり、一つの契約で複数の独自ドメインを設定できる。
つまり、複数の独自ドメインのWEBサイトを運用できるのだ。
これはロリポップの管理画面で「独自ドメイン」と「アップロードフォルダ(サイトデータがあるディレクトリ)」を紐付けすればOKだ。
今後、さらにサイトが増える場合はロリポップのマルチドメイン機能を使用する。
ん?両サイトともこっちのやり方にすればよかったんじゃないか?
というのは後から気づいたのである。まぁいっか。