こんにちは! IMPRICH CREATEのハナミズキです。
昨年ロリポップと契約時して、このブログサイトを立ち上げた時から1年たち、自分の好きなように運営していくにあたって現状のディレクトリ構造を見直したくなりました。
今回は、その流れで設定変更した事をメモとして残します。
なお、正直、似たようなサイトは一杯あることは理解しているけど、そもそも、その手順で行った結果、他のサイトでは触れていない問題が私の環境で起きちゃったので個人的なトラブルシューティングです。
目次
1.要件整理(現状と理想)
現状、ロリポップと契約している独自ドメインの設定は、mainフォルダに適用させています。
また、合わせて現状のディレクトリ構造も以下画像の通りです。
現状
当時、toolsフォルダとか想定外であったため、このような現状のディレクトリ構造とURLの流れとなってしまいました。
そのため、toolsフォルダを作成するとき、凄く悩みました。
このフォルダの中には、CakePHPで作ったアプリや、今後発生するであろうサンプル的なWebページを今後は格納してくつもりなのに、こんなURLで公開したくないな…と思ったのです。
また、Wordpressは独自のフレームワークとして確立しているので、( WordPress が含まれた)mainフォルダの下にtoolsフォルダ入れるのはリスク。各Wordpressのコンテンツファイルが入りまくった所に、CakePHPで作ったアプリを含むフォルダを入れると、どれだけURL書き方のルールの見直しが必要になるのか…凄くめんどくさい感じしかしなかったからです。
しかし、歯がゆい。URLが気に入らない。
よって以下のURL呼び出しで動くような理想のディレクトリ構造を整理してみました。
理想
2.理想の為に作業した事
理想の形に変更するための手順を以下に残します。
2-1.バックアップを取る
当たり前ですが、何があるか分からないので、作業前はバックアップを取りました。
ロリポップは、phpMyAdminに接続できるので、phpMyAdminを介してデータを取得。
また、ロリポップのレンタルサーバーとのFTP通信に、私自身はCyberduckを利用しているので、Cyberduckを利用して当ブログの元となるWordpressの各種コンテンツファイルたちをダウンロードし保存ました。
2-2.理想の形にフォルダ構造見直し
1.Wordpressアドレスとサイトアドレスを仮変更する。
WordPressの管理画面を開き、[設定]-[一般設定]に存在するWordpressアドレスとサイトアドレスを以下のように変更し、[変更を保存]ボタンをクリックします。
この設定を加えた時点で、URLにアクセスしても正常に表示できなくなります。こちらは個人サイトなので、さほど影響はないと判断し、変更しました。
2.フォルダの移動
FTP通信クライアント(私の場合: Cyberduck )を利用して、mainフォルダ内に新規にwpフォルダを作成し、mainフォルダ内に存在するファイルをすべて移動しました。
同様に、toolsフォルダも移動しました。
3.フォルダパスが切り替わった事の確認
2-2にて移動完了後に、ブラウザを開き、まずは正常にファイルフォルダが移動されている事を確認します。
確認する時の対象は以下2つです。
- https://www.imprich-create.site/wp/
- https://www.imprich-create.site/wp/wp-admin
アドレスバーに入力するURLは変わっても、これまでと同じ通りにホームページが表示でき、管理画面も確認できたら、第一段階完了です。
2-3.ルートアクセス時にWordpressが描画されるよう変更
次に、【 https://www.imprich-create.site/ 】にアクセスしたらwpフォルダ配下に存在するWordpressのトップページが表示できるように変更します。
1.Wordpressのルート直下の.htaccessとindex.phpを、ローカル環境へダウンロード(コピー)する。
- /main/wp/index.php
- /main/wp/.htaccess
この2つのファイルは、後ほど内容を修正したのち、mainフォルダに格納します。
2.ダウンロードしたindex.phpファイルの以下の記載がある行を修正する。
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
↓ 修正
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
3.独自ドメイン公開フォルダのルート直下に、ファイルを格納。
修正したindex.phpファイルと、 .htaccess ファイルを、mainフォルダに格納します。
- /main/index.php
- /main/.htaccess
これで、https://www.imprich-create.siteにアクセスすると、自動的に「https://www.imprich-create.site/wp/」のページ情報を表示するようになるはずです。
4.挙動確認する。
改めて、念入りに、 https://www.imprich-create.siteにアクセスすると、自動的に「https://www.imprich-create.site/wp/」のページ情報を表示されるか確認します。
きっと問題なく表示されているはずです。
表示だけ…。というのも、各ページ内のリンクをクリックすると、wpという文字がもれなく付与され、自動的に https://www.imprich-create.site/wp/」のページ情報 を閲覧するようになってしまいます。
これは修正が必要です。
2-4.各リンク見直し
1.Wordpressアドレスとサイトアドレスを再度変更する。
2-2-1で、Wordpressアドレスとサイトアドレスを仮変更しましたが、改めて、Wordpressの実際のディレクトリ構造に合わせて変更が必要です。
WordPressの管理画面を開き、[設定]-[一般設定]に存在するWordpressアドレスとサイトアドレスを以下のように変更し、[変更を保存]ボタンをクリックします。
2.念のためパーマリンク設定の再更新。
これまでの行動を経て、内部の様々なURLがwpが付いたディレクトリ構造に変わっています。よって、念のため、内部で保持しているパーマリンク情報を更新しましょう。
パーマリンクとは、ブログの個々の投稿、カテゴリーなどの投稿一覧ページへの恒久的(半永久的)な URL です。
引用:WordPress Codex 日本語版
個別の投稿への URL は常に存在して決して変らないようにすべきです。
そういう訳で、「perma」リンクといいます。
やり方は、Wordpressの管理画面を開き、[設定]-[パーマリンク設定]を開き、何もせずに[変更を保存]ボタンをクリックすることで、更新完了です。
3.動作確認。
上記の手順を経る事で、
改めて、 サイトを確認すると、各ページ内のリンクをクリック時に、wpという文字がもれなく付与されていたのが、付与されないように切り替わっている事を確認できます。
3.その他(実際に発生した問題とその対策)
以降、私の環境下で発生した問題を上げます。
3-1.投稿のプレビューができない
試しに新たに投稿しようとしたら、プレビュー機能が使えなくなりました。致命的な問題すぎて、ネットを介して調査すると「 WordPressの一般設定でドメインを変更したり、ディレクトリ変更をしたり、URLが変わったときに プレビューが使えなくなる事象が存在する」という記述を見つけました。
解決策の一つとして、 「wp-config.php」というファイル の認証用ユニークキーを 書き換えることで解決できる場合 があるそうです。
物は試しという事で、
いったん、管理画面からログアウトし…
WordPressが提供している 認証用ユニークキー オンラインジェネレーター にアクセスして、表示された文字列を利用し 「wp-config.php」ファイル の認証用ユニークキーを FTP通信ツールをりようして更新。
改めて、管理画面にログインした所、私の環境下では解決しました。
3-2.管理画面ログイン後、トップページが表示できない
管理画面ログインしたのち、トップページを表示しようとすると…、以下のように表示ができないし、なんかアドレスバーにはwpついている現象が起きました。
アドレスバーには「https://www.imprich-create.site/wp/」との表記がある。
管理画面ログインしていない状態では問題なく、また、プレビューもできるので、致命的な問題ではないですが、凄く気になるので、原因調査した結果、キャッシュの問題っぽいです。
ブラウザを変更して確認した所、問題が発生しなかったことが決め手でした。
改めて、ブラウザのキャッシュをクリアして、ログインしなおすことで解決しました。
3-3.管理画面ログイン後、トップページ以外のページで管理ツールバーが消える
こちらも3-2と同時に発生し、同時に解決した問題でしたが…、管理画面ログイン後、トップページ以外のページで管理ツールバーが消える問題です。
上記の流れのまま、管理画面ログインして、トップページを開いた後に、試しにBlogのメニューを押すと…以下のように、管理ツールバーがトップから消えます。
アドレスバーには「https://www.imprich-create.site/blog」との表記で特に問題ないけど、トップページ以外から管理者画面に戻れないの???って思いました。
結論として、こちらもキャッシュが問題で、キャッシュをクリアすることで解決しました。
4.まとめ
WordPressは、普段のアウトプットの為に使っていますが、まだまだ、使いこなせていない感じがすごいです。
現在は、Web系の公開サイト上での動作検証や実績積み上げの為、やりたい事の為に少しずつ使い方を覚えている感じです。
本来…やりたかった事を公開する前準備みたいな形。
そんな意味では、なかなか、脱線しまくりですが、こんな時間、たまには必要ですね。良い意味で勉強出来て楽しかったです。
以上です。ではでは!
この記事へのコメント
コメントはまだありません。