当サイト以前は無料レンタルサーバを使ってた(
000webhost.com)。無料のレンタルサーバが提供したサービスとして、使いやすさや稼働率などが悪くはなかったけど、やはり有料のレンタルサーバを使うのは安心ですね。
つい先日レンタルサーバを
ロリポップに切り替った。
ディスク容量13GB、MySQL一個付き、月額263円なんか、個人サイトとして十分だと思うので、早速サイトを引っ越ししました。
サイトの規模が大きければ大きいほど、SEOの観点などを考えると、サブドメインが必要になった。当サイトにも掲示板を単独でサーブドメインを使いましょうと考え、http://taobao.jp/bbsをhttp://bbs.taobao.jp/に変った。
残念ですが、「相対パース」や「絶対パース」などの問題がよく出てきた。たとえ、ソースの中で
<link href="/css/bbs/common.css" rel="stylesheet" type="text/css">
として、
統一ドメインhttp://taobao.jp/bbsの場合、「/css/bbs/common.css」はプロジェクト直下のcss/bbs/common.cssと扱われる。
サーブドメインhttp://bbs.taobao.jpの場合、「/css/bbs/common.css」はプロジェクトディレクトリ中の「bbsフォルダ」直下のcss/bbs/common.cssと認識される(実際存在しないファイルです)。このため、元々正常に表示できるhttp://taobao.jp/bbsページですが、サーブドメインhttp://bbs.taobao.jpに切り替ると、ページのレイアウトを崩れてしまった。この障害を解決のため、シンボリックを使ってうまく表示できるかなと考えてました。
しかし、ロリポップの「ロリポプラン」はSSHが使えません。どやてシンボリックを作成する?
さて、ここからが本題です。
解決方法は:PHPを使ってシンボリックを作成する。
まず、create-symlink.phpを作成し、下記のコードをファイルに記入し、サーブドメインフォルダにアップロードする。
symlink( '/home/users/x/xxxxxxx/web/your-domain/css, 'css' );
※上記コードでの「/x/xxxxxxx/」はロリポップでのあなたのドメイン置き場所です。echo dirname(__FILE__);でご確認ください。
次ましては、http://bbs.taobao.jp/create-symlink.phpをブラウザでアクセスして見る。真っ白なページを表示するはずです。
※warningや権限がないエラーが発生する場合、ロリポップの管理画面で、php.iniのsafe-modeをOFFにして、もう一回やる。
その後、もう一個のFTPを開いて、/your-domain/bbs/フォルダの直下、cssシンボリックあるかを確認する。
同様の方法で、jsシンボリックやimageシンボリックを作成できる。
最後、サーブドメインhttp://bbs.taobao.jpにアクセスし、ページが綺麗に表示できるはずです。
以上、シンボリックを使って、ロリポップでのサーブドメインにした後、絶対パースの問題を解決した。
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
zanmai @2016年03月31日
» ①②③④の順で設定できるはず。…