We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 15611
    • 19 Posts
    kenと申します。お世話になっております。

    この度、modxがインストールされているディレクトリの変更を試みたのですが、modx/index.htmlでアクセスする場合、古いファイルを読んでしまい、完全に移行が出来ていない状態で困っております。

    具体的には、
    public_html/modxにインストールされていたデータを、
    public_html/username/test/modxというように、違うディレクトリに移し、管理画面でリソースパスなどを新しいディレクトリのデータに書き換えました。
    そのあたりは、http://modxcms.com/forums/index.php/topic,7749.0.htmlを参考にしてます。

    それで、username/test/modx/にアクセスすると、[[site_url]]も新しいディレクトリのものに変わり、画像を含めて、新しいディレクトリのものちゃんと読んでくれるのですが、username/test/modx/index.htmlにアクセスすると、古いhtml(public_html/modxのほう)を読んでしまい、新しく置き換えた画像などが表示されません。
    フレンドリーURLまわりかと思い、OFFにして、index.phpにアクセスすると問題なく表示されます。これはONのときも同じでしたので、なんとも言えない状態です。

    現在、トップに表示させているテンプレートでは、自分で作成したヘッダー等を読み込ませているので、<base href="http://test.org/username/test/modx/" />というように決めうちでbaseを書いていますが、それでも解決されません。

    キャッシュも古いサイト、新しいサイトで削除し、assets/cacheにあるファイルも消してみました。
    ただ、移行時にキャッシュの削除をしなかったので、それでだめになったいることはあるかもしれません。

    情報が少なく申し訳ないのですが、何かわかる方がいらっしゃいましたら、ご返信いただければうれしく思います。
    よろしくお願いします。

    ちなみに、modxのバージョンは、0.96です。
    お願いします。
      • 19033
      • 892 Posts
      こんにちは。
      .htaccess の「RewriteBase」は、どうなっているでしょうか。
        • 15611
        • 19 Posts
        MEGU様ありがとうございます。

        .htaccess の「RewriteBase」は、どうなっているでしょうか。

        Rewriteの部分ですが、

        RewriteEngine On
        RewriteBase /modx
        #RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]


        としています。というのも「/」にすると、フレンドリーURL自体がきかなくなってしまい、「/modx」にしています。
        過去にapache2.2関連でrewriteでつまづいたことがあって、そのときに/modxにすれば解決できたので。


        あとさらに不可解なのが、ドキュメントIDが1番のドキュメントエイリアスを「index」にしていたため、「indexs」など違う文字に変えましたが、indexs.htmlではmodxの404を返してしまい、ドキュメントが見当たらないのと、「index」でアクセスした際に相変わらず古いindex.htmlを読んでしまってのです。
        また、ドキュメントIDもテンプレートも違うドキュメントのエイリアスを、「index」にしても、それは読み込まれず、古いものが読まれました。

        ホームに戻る場合は、index.htmlではなく、ルートに返せばよいのでしょうが、何か解決策があるようでしたらご教授いただけると助かります。
        よろしくお願いします。
          • 19033
          • 892 Posts
          外していたら申し訳ないのですが、

          public_html/modxにインストールされていたデータを、
          public_html/username/test/modxというように…

          ということは、RewriteBase /modx は、
          RewriteBase /username/test/modx にしないといけないのではないでしょうか。。

          RewriteBase /modx のままだとフレンドリURLがONの場合、前のサイト(/modx 以下に
          インストールしたサイト)を読みに行くと思います。
            • 15611
            • 19 Posts
            kenです。有り難うございます。

            ということは、RewriteBase /modx は、
            RewriteBase /username/test/modx にしないといけないのではないでしょうか。。

            仰る通りで、そのようにしたらちゃんと読んでくれました。
            apache2.2の挙動ではなく、普通に/modxを読んでいたのですね。

            ご迷惑おかけしました。

            また分からないことが出た際は何か伺いかもしれませんが、なにとぞ宜しくお願いします。
            この度は有り難うございました。
              • 19033
              • 892 Posts
              良かったですね laugh

              「RewriteBase」は、私も良くハマりました…^^;
                • 15611
                • 19 Posts
                kenです。お世話になっております。

                本当に有難うございました。
                0.95のときに、apache2.2のことが頭に入っていたおり、/modxであることは何も疑わなかった(普通に動いていた)ので、つまづいていました。

                rewriteをちゃんと理解していないからでしょうが、こういったことで少しずつ理解を深めていければと思います。
                このたびは有難うございました。