不幸にも私はMVC WebサイトにIIS6を使用することを余儀なくされています。 .net 4.0では、IIS6で拡張機能のないURLを取得するための愚かなハックを模倣する機能が追加されています。私のウェブサイトは、SEOの目的でURLの書き換えを利用するように設計されています。クライアントが使用したいキーワードurlは、精巧なurl書き換えスキームを指示します。MVC3 .net 4.0 extensionless urlsとisapi_rewrite
Microsoftのこの機能の迫真の問題は、実際にはURLの書き換えとパターンマッチングの試みに帰着します。私はパターンが一致するようにURLから恐ろしいeurl.axdを取り除こうとする様々なルールを見てきました。私はこれらのルールを使用しようとし
するRewriteRule ^(。)/eurl.axd/ [-f0-9] {32}()$ $ 1 $ 2 又は するRewriteRule(。)eurl.axd/。 $ 1
これは動作しますが、ネストされたリダイレクトがある場合には他の問題も発生します。新しいURLへの古いURLの処理など
eurl.axdが削除され、リダイレクト時にisapi_filterが要求を取得してIIS 404エラーが発生します。
URLの周りをつまんで、私はこの可能な解決策を思いついた。
のRewriteRule ^発電機/発電機並列能力/([^ /] )/([^ /])$ /ジェネレータ/ htmlcontent /発電並列能力/ $ 1/$ 2】【NC、L]
はeurl.axd部分をつかんで、実行URLにそれを書き換えて追加します。
良い方法がありますか?私はこのパターンに合致する数百のURLを持っており、それらをすべて単一のルールで処理するのが良いでしょう。