0

古いサイトを mod_rewrite ルールとともにサブフォルダーに移動しましたが、機能しなくなりました。

たとえば、1 つのルールは次のとおりです。

#   Input:  noticias/
#   Output: noticias.php
RewriteRule ^noticias/?$  noticias.php

mydomain.com/movedsite/noticias/ から mydomain.com/movedsite/noticias.php に移動する必要があります

そうではありません:エラーメッセージは言う

見つかりません - 要求された URL /mydomainfolder/movedsite/noticias.php がこのサーバーで見つかりませんでした。

別のフォーラムの質問で提案されているように、ルールの要素の前にスラッシュを追加してみました:

RewriteRule ^/noticias/?$ /noticias.php

それもうまくいきません。

誰でも私を助けてもらえますか?ありがとう!

4

1 に答える 1

1

おそらく RewriteBase を設定する必要があります:

このディレクティブは、次の条件のいずれかに該当する場合を除き、ディレクトリごと (htaccess) コンテキストでの置換で相対パスを使用する場合に必要です。

  • 元のリクエストと置換は、DocumentRoot の下にあります (エイリアスなどの他の手段では到達できません)。

  • RewriteRule を含むディレクトリへのファイルシステム パスは、相対置換によってサフィックスが付けられ、サーバー上の URL パスとしても有効です (これはまれです)。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase

于 2012-09-05T23:31:47.193 に答える