0
RewriteEngine On


RedirectMatch http://api.fuckedapps.com//app_dl.php?app_id=([0-9])$ http://fuckedapps.com/app_dl.php?app_id=$1

次のような URL をリダイレクトしようとしています。

http://api.fuckedapps.com//app_dl.php?app_id=31

これに:

http://fuckedapps.com/app_dl.php?app_id=$1
4

1 に答える 1

3

これを試すことができます(申し訳ありませんが、現在ここでApacheを実行していないため、ライブシステムでテストすることはできません):

# Activate Rewrite Engine
RewriteEngine On
RewriteBase /

# Actual rule
RewriteCond %{HTTP_HOST} =api.fuckedapps.com [NC]
RewriteCond ^/?app_dl\.php$ http://fuckedapps.com/app_dl.php [QSA,R=301,L]

クエリ文字列は両端で同じであるため、一致しませQSAん。フラグを使用して変更せずにコピーします。

また、テスト中に301ではなく302リダイレクトを使用することを検討してください(最新のブラウザは301リダイレクトをキャッシュするため、ルールが変更されたときに間違った動作が表示される可能性がありますが、ブラウザはまだ古いリダイレクトを使用しているようです)。結果。

//元のURL、つまりApache/mod_rewriteがそれを正確に処理する方法についてはよくわかりません。しかし、それはうまくいくはずです。

ところで-これは、ウェブサイトのルートフォルダの.htaccessに配置されることを意味します。他の場所に配置する場合は、いくつかの変更が必要になる場合があります。

于 2012-04-17T11:56:19.627 に答える