1

Railsで書き直したアプリケーションがあります。古いアプリケーションは php にあります。

古いリンクがまだ機能するように、すべてのphpリクエストをサブドメインold.example.comにリダイレクトする必要があります(古いアプリケーションをそこで実行しました)。すべてのリンクには「.php」が含まれていると思いますが、新しい URL にはそれがありません。そのため、リダイレクトの条件として使用できます。

Apache RedirectMatch を使用する予定です。次のようなものです:

RedirectMatch \.php http://old.example.com

近いはずです。私は信じている。リクエスト パスをリダイレクト ルールに渡す方法がわかりません。

または、誰かがこれを行う方法についてより良いアイデアを持っている場合は?

4

1 に答える 1

1

Apache mod rewrite を使用すると、以下を使用できます。

RewriteEngine On
RewriteBase /
RewriteRule ^.*\.php.*$ http://old.example.com/index.php [R=301,NC]

リダイレクト URL に到達しようとしていたページを実際に挿入したい場合は、次のようにします。

RewriteEngine On
RewriteBase /
RewriteRule ^/?(.*)\.php.*$ http://old.example.com/$1.php [R=301,NC]

$1括弧内の正規表現に一致するものをすべて挿入します。

GET パラメータの場合:

RewriteEngine On
RewriteBase /
RewriteRule ^/?(.*)\.php(.*)$ http://old.example.com/$1.php$2 [R=301,NC]
于 2012-07-11T13:33:06.677 に答える