We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 19033
    • 892 Posts
    こんにちは。よろしくお願いいたします。

    MODxの機能の問題ではないのですが、MODxがらみのような感じなので、
    こちらにポストいたしました。

    やりたいことは、以下なのですが...。

    http://www.liolion.info/modx/modxbook.html
    上記のURLを
    http://www.liolion.info/modx/lem_news/modxbook.html
    に変更したので、

    http://www.liolion.info/modx/modxbook.html
    にアクセスされたとき、
    http://www.liolion.info/modx/lem_news/modxbook.html
    にリダイレクトさせたいのですが、うまくできません。

    まず、サイトルート「www.liolion.info/」のhtaccessに以下のように書いてみました。
    RewriteEngine On
    ...略...
    RewriteRule ^modx/modxbook\.html$ /modx/lem_news/modxbook\.html [R]
    ...略...


    この場合、「http://www.liolion.info/modx/modxbook.html」にアクセスしますと、
    MODx独自の「not found」のページが表示されます。

    次に、MODx以下にあるhtaccessに以下のように書いてみました。
    RewriteEngine On
    RewriteBase /modx
    RewriteRule ^modxbook\.html$ /lem_news/modxbook\.html [R]
    ...略...


    この場合、「http://www.liolion.info/modx/modxbook.html」にアクセスしますと
    以下のエラーが表示されます。

    ページタイトル:302 Found
    Found
    The document has moved here.
    
    Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/1.3.39 Server at www.liolion.info Port 80


    MODxでダミーページ「modxbook.html」を作って、そこに、
    リダイレクトするスニペットを書く...とかも思ったのですが。。
    普通にhtaccessで、やれる方法はあるのでしょうか。。

    どうぞよろしくお願いいたします。

    あ、サーバはさくらインターネットです。
      • 23276
      • 85 Posts
      こんばんは lipsrsealed
      さくらは使ったことがないので見当違いかもしれませんが…

      RewriteRule ^modxbook\.html$ /lem_news/modxbook.html [R=301,L]


      のようにLフラグをくっつけてみたらうまくいったりしませんか?(移動ということなのでついでに301リダイレクトで…)
      自分がリダイレクトではまるときは、無限ループとか二重に上書きされてたりすることがよくありますので… shocked
      あと、置き換え後(後ろかわ)の「.」などは「\」でエスケープする必要はなかったように思います。

      あるいは/modx/にMODxがあるとすると、/modx/.htaccessに

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^modxbook\.html$ /lem_news/modxbook.html [QSA]  ←追加
      RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


      とかになるんでしょうか。
      自分もあんまりわかってないので違ったらすみません lipsrsealed
        • 19033
        • 892 Posts
        Phize さん。どうもありがとうございます。

        MODxをインストールしたディレクトリに以下のように書いてうまくできました!
        RewriteEngine On
        RewriteBase /modx
        RewriteRule ^modxbook\.html$ /modx/lem_news/modxbook\.html [R=301,L]
        [L]がミソなんですね。。(もっと勉強しなくっちゃ。。 embarrassed)どうもありがとうございます laugh
          • 23276
          • 85 Posts
          [L]くっつけたらいけたんですね、よかったです。
          ひょっとしたらと思って書いてみましたが、お役に立ててなによりです grin