2012-04-22 14 views
1

iis.netでCreating Rewrite Rules for the URL Rewrite Moduleという記事を読んでいます。私は自分のURLからいくつかのセグメントを削除したいと思います。IIS URL書き換えルール - 一部のセグメントを削除するにはどうすればよいですか?

/article/archive/2289/01/articleid/191/reftab/36/word1 word2 word3 

へ::例えば、より

/article/articleid/191/word1-word2-word3 

私はこれで私のweb.configファイルを変更しましたが、私は私の問題を解決することはできません。

<rewrite> 
    <rules> 
    <rule name="Remove segments"> 
     <match url="^article/archive/2289/01/([0-9]+)/([_0-9a-z-]+)" /> 
     <action type="Rewrite" url="article/articleid/{R:1}/{R:2}" /> 
    </rule> 
    </rules> 
</rewrite> 

答えて

0

あなたはそれを逆にしようとしているようです。 <match>要素は、フレンドリURL(ユーザーがブラウザに入力するURL、リンクに含まれるURL、およびIISが受信するURL)を表します。

<action>要素は、不都合を表します。 URL - 書き換えモジュールを使用していない場合に使用する必要がある醜いURLです。

<match url="^article/articleid/([0-9]+)/([_0-9a-z-]+)" /> 
<action type="Rewrite" url="/article/archive/2289/01/articleid/{R:1}/reftab/36/{R:2}" /> 

ここでのトラブルは、あなたがおそらく正しい、2289/01をハードコーディングしたくないということですか?フレンドリーなURLにそれを組み込むか、それらの番号がないリクエストを処理できる中間的なハンドラを用意する必要があります。

関連する問題