MovableType4.2で、公開パスを、http://hoge.sakura.ne.jp/hoge/top/から、独自ドメインを使ったhttp://hoge.comに変更しました。

すると、トラックバックやタグなどの参照先が、http://hoge.com/mt/mt-staticなどになってしまい、当然ながらリンクエラーになってしまいました。
http://hoge.sakura.ne.jp/hoge/と同じ階層にある/mt/を、独自ドメインのまま機能させるには、どうすれば良いでしょうか?
※CGIPathを、http://hoge.sakura.ne.jp/mt/などとすれば出来るのですが、、、独自ドメインを使いたいのです!

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/03/09 15:40:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント60pt

>独自ドメインは、(http://hoge.sakura.ne.jp/hoge/top/)に割り当てています。

>つまり、mtフォルダがある階層より、1階層下に独自ドメインを割り当てています。

topが独自ドメインのルートフォルダで、MT4の公開ディレクトリなのですね?

mtフォルダをtopに入れた場合でも、特に問題は起きないはずです。

環境は違いますが、似たような状態にして簡単に動作テストしてみました。

(もちろん設定変更後には再構築が必要です。)

mtフォルダを現在の場所に置いたまま独自ドメインで動作させる方法を思いつきましたので、まずはそちらの方法から・・・

.htaccessを作成して、以下を記述します。

※エクスプローラでは.htaccessなど、「.」で始まる名前のファイルは作成できません。

テキストエディタでなら作成できると思います。(サクラエディタで可能でした。

FTPソフトで転送後に変更しても大丈夫です。)

RewriteEngine on

RewriteBase /

RewriteRule ^mt/(.*)$ http://hoge.sakura.ne.jp/mt/$1 [L]


独自ドメインのルートディレクトリ(/home/hoge/www/hoge/top/)にアップロードします。

(※転送モードに注意してください。アスキー(テキスト)モードでアップする必要があります。)

http://hoge.com/mt/~にアクセスした場合、http://hoge.sakura.ne.jp/mt/から読み込んで表示させるための記述です。

※リダイレクトではないので、ブラウザのアドレス表示は変わりません。

さらにmt-config.cgiをダウンロードして次の部分を編集後、アップロードします。

CGIPath http://hoge.com/mt/

StaticWebPath http://hoge.sakura.ne.jp/mt/mt-static/

StaticFilePath /home/hoge/www/mt/mt-static

.htaccessとmt-config.cgiをアップロード後、http://hoge.com/mt/mt.cgiにアクセスして、再構築を実行します。

これで独自ドメインでmt.cgiを使用できるようになるはずです。


ちなみにmtフォルダをtopフォルダ内に移動した場合は、以下のように設定することで独自ドメインで使用できるはずです。

(こちらの方法では.htaccessは使用しません。)

CGIPath http://hoge.com/mt/

StaticWebPath http://hoge.com/mt/mt-static/

StaticFilePath /home/hoge/www/top/mt/mt-static

どちらの場合も再構築は独自ドメインでアクセスしたmt.cgiで行います。

id:righton

ありがとうございます!!

最初のやり方で解決しました!

.htaccess関係のやり方も、非常に参考になりました!

本当にありがとうです〜

2009/03/04 13:54:14
  • id:rouge_2008
    確認させてください。

    1.独自ドメイン(http://hoge.com)は、どのフォルダに割り当ててあるのですか?(さくらのコントロールパネルでの操作のことです。)
    http://hoge.sakura.ne.jp/hoge/でしょうか?
    もし上記のフォルダ(hoge)に独自ドメインを割り当てていて、mtがhogeと同階層にあるのでしたら、同じドメイン(http://hoge.com)でアクセスすることは無理だと思います。
    mtフォルダに独自ドメインのサブドメイン(http://example1.hoge.com)を割り当ててCGIPath等の設定を変更するか、あるいは、mtフォルダをhogeにフォルダごと入れてしまうのはいかがでしょうか?
    前者の場合は独自ドメインのサブドメイン(http://example1.hoge.com)でのアクセスですが、後者の場合は独自ドメイン(http://hoge.com/mt/mt.cgi)でアクセス可能になるはずです。


    2.公開パスを独自ドメイン(http://hoge.com)に変更したそうですが、サイトパスはどのような設定になっていますか?
    サイトURLだけなくサイトパスも載せた方が解決に近づくと思います。

    3.現在は、MT4のインデックスページは表示されているけれども、リンクが機能していないという状態でしょうか?
    アーカイブページ、個別の記事のページなども表示されていますか?
  • id:righton
    独自ドメインは、(http://hoge.sakura.ne.jp/hoge/top/)に割り当てています。
    つまり、mtフォルダがある階層より、1階層下に独自ドメインを割り当てています。

    >mtフォルダをhogeにフォルダごと入れてしまうのはいかがでしょうか?

    この場合、topフォルダにmtフォルダを入れてしまうということになると思いますが、
    その場合、何か不具合が起こらないでしょうか?
    つまり、設置したmtフォルダの階層を下げることによっての、リンク切れを心配しています。

    >2.公開パスを独自ドメイン(http://hoge.com)に変更したそうですが、サイトパスはどのような設定になっていますか?

    サイトパスは、/home/hoge/www/hoge/top になっています。

    >3.現在は、MT4のインデックスページは表示されているけれども、リンクが機能していないという状態でしょうか?
    >アーカイブページ、個別の記事のページなども表示されていますか?

    上記は、全て問題ありません。
  • id:rouge_2008
    大変すみません。間違いがありました。
    .htaccessの記述を以下のように変更してください。
    回答の方だとリダイレクトになってしまいました。

    RewriteEngine on
    RewriteBase /
    RewriteRule ^mt/(.*)$ /home/hoge/www/mt/$1 [L]

    上記にしてもだめだった場合は、シンボリックリンクによる方法を試してみてください。(.htaccessは使用しませんので削除します。)
    ただし、シェルでログインする必要がありますので、スタンダードコース以上のプランでないと出来ません。

    http://smashmedia.jp/blog/2008/03/001139.html
    http://blog.aklaswad.com/2007/000107.html

    ドメインの違う複数のブログから一つのmtフォルダを使用する予定がある場合は、CGIPathを以下のように変更すると良いです。
    CGIPath /mt/
    StaticWebPathは今のままでも大丈夫ですし、以下のようにしても大丈夫だと思います。
    StaticWebPath /mt4/mt-static/


    シンボリックリンクによる方法も出来なかった場合は、topフォルダにmtフォルダを移動する方法を使用してください。
  • id:rouge_2008
    一応少し補足します。
    シンボリックリンクによる方法でやる事は、

    1.シンボリックリンクの作成
    シェルでログインしてから以下のコマンドを実行するとシンボリックリンクが作成できるはずです。
    ln -s ターゲットのパス 作成するシンボリックリンクのパス
    ln -s /home/hoge/www/mt /home/hoge/www/hoge/top/mt

    2.mt-config.cgiの変更
    CGIPathとStaticWebPathを以下のどちらかに変更します。

    CGIPath http://hoge.com/mt/
    StaticWebPath http://hoge.com/mt/mt-static/

    ※複数のブログから同じmtを使用する場合は必ず以下に・・・
    CGIPath /mt/
    StaticWebPath /mt/mt-static/

    StaticFilePathは/home/hoge/www/mt/mt-staticでも/home/hoge/www/hoge/top/mt/mt-staticでもどちらでも大丈夫なはずです。

    3.ブログの再構築
    http://hoge.com/mt/mt.cgiにアクセスしてブログを再構築します。

    上記2つ(または3つ)を済ませれば、ドメインで使用できるようになるはずです。
    同じ環境では試せないので分かりませんが、おそらく大丈夫だと思いますので試してみてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません