1

IIS6 で使用する Helicon (ライセンス版) の ISAPI Rewrite 3 のルールを作成するという点では、私は非常に新しいものです。「subdomain.domain.com」から「www.domain.com」までのさまざまなページに対して 90 以上のルールを作成する必要があり、正規表現のパターンにあまり詳しくありません。残念ながら、これらのサイトはミラーリングを行っていないため、単純なクエリ文字列を追加しても機能しません。

例: " http://subdomain.domain.com/products/product.aspx?id=42 " を " http://www.domain.com/productgroup/productinfo "にリダイレクトします。

私はそれについてかなり良いスタートを切っていますが、私が得た最も遠いものは、特定のページリダイレクトを機能させることです。これらのページの一部を別の方法でリダイレクトするには、特定の ID を取得する必要があります。現在、WebページをGoogleにリダイレクトするためのコード(テスト目的のみ)は

# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.102

RewriteEngine on
RewriteRule ^(subfolder.html)/?(.*)$ http://www.google.com/ [NC,R=301,L]

注: 次のページで簡単な Web サイトを作成しました: - /index.html - /subfolder/subfolder.html - /subfolder/subfolder2.html - /subdir/subdir.html

前のコードによると、「/subfolder/subfolder.html」は Google にリダイレクトされ、その他は通常どおりページが表示されます。テスト目的で、「id=1」を追加して YouTube にリダイレクトし、「id=2」を追加して Facebook にリダイレクトしようとしましたが、現時点ではどちらも機能していません。そのためのコードは

RewriteRule ^(subfolder2.html\?id=1)$ http://www.youtube.com/ [NC,R=301,L]
RewriteRule ^(subfolder2.html\?id=2)$ http://www.facebook.com/ [NC,R=301,L]

必要なのは、機能するパターンを取得することだけです。その後、それを変更して、残りのページで機能するようにします。

ご回答ありがとうございます。

4

1 に答える 1

1

試行錯誤を繰り返した結果、このように動作するようになりました。

RewriteEngine on

RewriteCond %{QUERY_STRING} ^id=1 [NC]
RewriteRule products/product_detail.aspx http://www.newdomain.com/NewProductPage [NC,R=301,L]

私の理解では、「RewriteCond」はそのIDを探します(この場合)。RewriteRule は、クエリ文字列を除いた元の URL (products/product_detail.aspx) とリダイレクトされた URL ( http://www.newdomain.com/NewProductPage ) で構成されます。

于 2014-01-14T16:17:09.513 に答える