1

予測できない GET-Params を使用して特定のページをリダイレクトしようとしていました

http://example.com/colours/hex.php?h=210&s=100&v=80...

GET-Params を受け取る別のページへ

https://newsite.com/colorful/hexadecimal.php?h=210&s=100&v=80...

私の試みは次のようになりました:

Redirect /colours/hex.php https://newsite.com/colorful/hexadecimal.php

ただし、これは GET-Parameters が指定されていない場合にのみ機能しました。それ以外の場合、サーバーはページを認識しないようです。GET-Parameters を認識させるにはどうすればよいですか?

私はこれについてあまり経験がないので、次のことも理解するのを手伝ってくれるかもしれません: しかし、htaccess 内のパスはドメインのルート フォルダーを参照するため、hex.php の前に /colours/ を追加する必要があります。そうしないと機能しません。これはなぜですか?

4

1 に答える 1

2

代わりに mod_rewrite を使用してみてください。mod_rewrite がロードされていることを確認する必要があります (そうしないと、ルールによって 500 サーバー エラーが発生します)。そのため、 example.comドキュメント ルートの htaccess ファイルに、次のルールを追加します。

RewriteEngine On
RewriteRule ^colours/hex\.php$ https://newsite.com/colorful/hexadecimal.php [L,QSA,R]

Rを aに変更しR=301て、リダイレクトを永続的にすることができます。クエリ文字列は、新しい URL に自動的に追加されます。

于 2013-09-18T09:00:29.503 に答える