私は (残念ながら) IIS を使用しており、フレンドリなプロファイル URL を作成するように書き直しています。実行可能な解決策を思いつきましたが、ユーザー名にピリオドを許可したいと思います。したがって、書き換えられた URL 形式は次のとおりですが、スクリプトが再ルーティングされないように、.aspprofile/username
を含むパスをリダイレクトしたくないことは明らかです。彼らがマスキングしている実際の URL は. 簡単ですよね?そうですね、IIS の書き換えモジュールが依存している正規表現エンジンは偽物です。profile/iviator.asp?p=username
質問する
119 次
1 に答える
0
編集:いくつかの調査の結果、IIS は .NET 正規表現エンジンを使用していないことがわかりましたが、VC++ ランタイムの正規表現エンジンを使用しているため、否定的な後読みが許可されていないようです。
ただし、問題に適したパターンに条件を追加することはできます (この投稿から学びました)。このような何かがうまくいくかもしれません:
<rule name="RewriteNonAsp" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{URL}" pattern="^.*?\.asp(?:\?|$)" negate="true" />
</conditions>
<action type="Rewrite" url="<path>" appendQueryString="false" />
</rule>
于 2012-04-17T17:35:09.057 に答える