1

.htaccess ファイルに次のルールを設定しています

RewriteRule ^detail.php / [R=301,NC,L]
RewriteRule ^tempate.php / [R=301,NC,L]

これらが行うことは、detail.php と template.php が呼び出されたときに 301 リダイレクトを実行することですが、これは機能しますが、入力すると機能しませんmydomain.co.za/detail.php?product_id=2432&category=700mydomain.co.za/?product_id=2432&category=700

ホームページにリダイレクトするには、ファイル名が含まれているdetail.phpか、クエリ文字列に任意の量のパラメーターを含む URL が必要です。template.php

試してみましたがRewriteRule ^detail.php?(.*) / [R=301,NC,L]、これも機能しません。ヘルプやガイドをいただければ幸いです。

4

1 に答える 1

2

2 つの RewriteRule 行を次の行に置き換えます。

RewriteRule ^(?:detail|template)\.php$ /? [R=301,NC,L]

の後の疑問符に注意してください/。これは、元の URI から既存のクエリ文字列を取り除くための特別な mod_rewrite 構文です。

また、RewriteRule はクエリ文字列のない URI にのみ一致するため、^detail.php?(.*) / [R=301,NC,L]期待どおりに動作しないことにも注意してください。

于 2013-04-16T06:08:21.793 に答える