2012-04-17 25 views
0

私は(残念なことに)IISを使用しており、フレンドリなプロファイルURLを作成するリライトを行っています。私は実行可能な解決策を思いついたが、ユーザー名の期間を許可したい。だから、書き換えられたURLフォーマットはprofile/usernameですが、私は明らかに.aspを含むパスをリダイレクトしたくないので、スクリプトは再ルーティングされません。マスキングしている実際のURLはprofile/iviator.asp?p=usernameです。十分に簡単ですね。うん、まあ、正規表現エンジンのIISの書き換えモジュールは、偽のものです。.aspで終わらない文字列の正規表現

+2

正規表現エンジンではどのようなexaclyが偽ですか? – Lucero

+0

Microsoftがお手伝いできます。非偽のパターン/ルールを書き、http://goo.gl/XwpvV –

答えて

0

編集:いくつかの調査の後、私はIISが.NET正規表現エンジンを使用していないことに気づきましたが、VC++ランタイムでは負のlookbehindsを許可していないようです。

ただし、あなたのパターンに条件を追加することもできます。これは問題に適しています(this postから学んでいます)。このような何かがトリックを行う可能性があります:

<rule name="RewriteNonAsp" stopProcessing="true"> 
    <match url="^(.*)$" /> 
    <conditions> 
    <add input="{URL}" pattern="^.*?\.asp(?:\?|$)" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="<path>" appendQueryString="false" /> 
</rule> 
+0

のように見えます。しかし、ありがとう。 http://regexpal.comを試してください。 –

+0

@GabrielRyanNahmias編集。しかし、regexpalは同じ正規表現エンジンを使用しないことに注意してください。 – Lucero

関連する問題