0

.htaccess ファイルを使用して、アーカイブされた古い aspx URL を新しい php サイトにリダイレクトしています。要件は次のとおりです。

RewriteCond %{QUERY_STRING} ^adid=(\d+)$
RewriteRule ^showad\.aspx$ /ad/getad/%1

結果の URL が example.com/ad/getad/1234?adid=1234 であることを除いて、ルールは機能します。もう一度検索したところ、出力 URL の末尾にある (adid=1234) を削除するには、疑問符 ? ルールが次のようになるように、置換パラメーターの最後に

RewriteCond %{QUERY_STRING} ^adid=(\d+)$
RewriteRule ^showad\.aspx$ /ad/getad/%1?

しかし、うまくいきません!結果の URL には、元のクエリ文字列が追加されたままです。このサイトを使用して htaccess ルールをテストしています: htaccess.madewithlove.be なぜこれが起こっているのか手がかりはありますか?

4

2 に答える 2

0

あなたのルールは問題ありません - 私は自分の .htaccess でそれをテストしました。間違っているのはhtaccessテスターのウェブサイトです:)

于 2012-05-15T20:24:06.753 に答える
0

ルールを次のように変更してみてください

RewriteRule ^showad\.aspx$ /ad/getad/%1? [R=302,L]
于 2012-05-15T19:57:41.380 に答える