2011-10-19 7 views
3

に書き換えURL私はIIS7上でホストされているウェブサイトを持っていると私はそれ</p> <p>私の現在のURLのblog.mysite.com/article.aspx?name=marriage</p> <p>にURL書き換えをimplimentしたいと思い、私が欲しいIIS7

blog.mysite.com/marriage

にそれを書き換えるために、私はいくつかのルールを試してみましたが、何も完璧なソリューションを与えません。

では、Microsoft書き換え2.0を使用していると仮定すると、すべての

shibin

答えて

2

は、あなたのパターンは次のようになりありがとうございましたあなたのアイデアを共有し、私のために役立つだろうしてください:[

^(^/] +)/?$

書き換えURLは、

です。 ?

article.aspx名= {R:1}:

<rewrite> 
    <rules> 
    <rule name="RewriteUserFriendlyURL1" stopProcessing="true"> 
     <match url="^([^/]+)/?$" /> 
     <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="article.aspx?name={R:1}" /> 
    </rule> 
    </rules> 
</rewrite> 

が古いと新しいURLスキームからの単純なリダイレクトがあなたのweb.configファイルのsystem.webserver部でこれを置くために古いURLから新しいURLへのリダイレクトも行うため、古いURLは新しいスキームに自動的に更新され、新しいURLスキームを使用するようにHTML出力を書き換える処理を含めるために、上記を置き換えることができます:

<rewrite> 
    <rules> 
    <rule name="RedirectUserFriendlyURL1" stopProcessing="true"> 
     <match url="^article\.aspx$" /> 
     <conditions> 
     <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" /> 
     <add input="{QUERY_STRING}" pattern="^name=([^=&amp;]+)$" /> 
     </conditions> 
     <action type="Redirect" url="{C:1}" appendQueryString="false" /> 
    </rule> 
    <rule name="RewriteUserFriendlyURL1" stopProcessing="true"> 
     <match url="^([^/]+)/?$" /> 
     <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="article.aspx?name={R:1}" /> 
    </rule> 
    </rules> 
    <outboundRules> 
    <rule name="OutboundRewriteUserFriendlyURL1" preCondition="ResponseIsHtml1"> 
     <match filterByTags="A, Form, Img" pattern="^(.*/)article\.aspx\?name=([^=&amp;]+)$" /> 
     <action type="Rewrite" value="{R:1}{R:2}/" /> 
    </rule> 
    <preConditions> 
     <preCondition name="ResponseIsHtml1"> 
     <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> 
     </preCondition> 
    </preConditions> 
    </outboundRules> 
</rewrite> 
関連する問題