質問: movable type 4で公開パスを独自ドメインに変更したら・・・ movable type 4で公開パスを変更したら・・・ 以下、質問させていただきます。 【現況】 movable type 4で、既存のブログを独自ドメインに変更するため、管理画面から 《公開設定》→《公開パス》→《サイトurl》を独自ドメインに変更しました。 例:http://○○○○○.co.jp/blog/ サイトパスは、既存のブログで設定しておりました、サイトパスのままです。 【不具合状況】 《サイトurl》変更後、再構築をしたあとサイト表示しましても、トップページのみ、 独自ドメインで表示されますが、他のリンクページや記事ページは404エラーが発生します。 また、topページに関しても、cssや画像のリンクは外れておりテキストのみが表示されます。 当然ながら、各プラグインなどは試すにいたっていません。 【質問内容】 01.上記の設定以外に何か、他の設定を変えないといけないのでしょうか? 02.類似する問題や回答を参照すると、mt-config.cgiのパスに関係するのか? とも思いますが、このケースは良く分かりません。 03.mtの管理画面(ダッシュボード)は、新しいドメインでhttp://○○○○○.co.jp/cgi/mt/から、 再ログインしなおして、再構築という手順になるのでしょうか?(まだ、トライしていません) 同一レンタルサーバー、同一mt内で、ドメインを変更するということだけですが (フォルダは既存のフォルダ内で:例・・・・・/blog)非常に苦労しております。 どなたか、ご教授いただければ幸いです。よろしくお願いします。
回答: >これは、mt管理画面上の【公開パス】【サイトurl】を「http://○○○○○.com」のみで設定するということでしょうか? 02のご回答によると、 >「設定する独自ドメイン」に「http://○○○○○.com」「フォルダ名」に「http://hogemoge.chicappa.jp/blog」の設定になっています とのことですので、「blogディレクトリ=http://○○○○○.com」になっています。blogディレクトリが、独自ドメインのルートディレクトリ(最上位の階層)なのです。 ということは、サイトurlは「http://○○○○○.com/blog」ではなく、「http://○○○○○.com」になります。 サイトパスはドメイン関係なくフルパスですので、現状の /home/sites/chicappa.jp/users/xxxxxxxxxxxx/web/blog で合っています。サイトurlを独自ドメイン「http://○○○○○.com」に書き換えて再構築しても、ディレクトリ構造自体は変わりません。 今のままの設定ですと、「http://○○○○○.com/blog」、つまり「blog/blog」ディレクトリをサイトurlとしている、ということになります。 サイトurlはブログ内のリンクの値を生成するために使われますので、これが間違っているとリンク切れが起こります。(...わかりますでしょうか?) 要は、現状、サイトurlとサイトパスの設定に矛盾がある、という状況かと思います。 次に、mtのシステムディレクトリが現在独自ドメイン下にありません。 ですから、管理画面にアクセスする際のurlは、チカッパのドメインを使う必要があります。 が、 cgipath /cgi/mt/ staticwebpath /cgi/mt/mt-static/ と、この2つがホスト名を省略した値になっているので、この値を参照するもの(トラックバックurl、検索結果画面、スタイルシートなど)は、その時使っているドメインを上に付けます。 例えば。 その時アクセスしているのが独自ドメインなら、検索結果画面は http://○○○○○.com/cgi/mt/mt-search.cgi にアクセスすることになります。 でも、このurlは有効ではないですよね?(blogディレクトリ下にmt-search.cgiは存在しないので) というわけで、リンク切れを起こします。 なので、 cgipath http://チカッパのサブドメイン/cgi/mt/ staticwebpath http://チカッパのサブドメイン/cgi/mt/mt-static/ とする。 あるいは、チカッパの機能的にできるのかどうかわからないのですが、cgiディレクトリにも同じ独自ドメインを割り当てることができれば、 cgipath /mt/ staticwebpath /mt/mt-static/ という値が使えるかもしれません。 ホスト名省略のメリットは、トラックバックurlや検索結果画面といった、訪問者の目に見えるところすべてが独自ドメインで統一できることなのですが... ※staticfilepathはとりあえず消しておいて下さい。