0

私は (残念ながら) IIS を使用しており、フレンドリなプロファイル URL を作成するように書き直しています。実行可能な解決策を思いつきましたが、ユーザー名にピリオドを許可したいと思います。したがって、書き換えられた URL 形式は次のとおりですが、スクリプトが再ルーティングされないように、.aspprofile/usernameを含むパスをリダイレクトしたくないことは明らかです。彼らがマスキングしている実際の URL は. 簡単ですよね?そうですね、IIS の書き換えモジュールが依存している正規表現エンジンは偽物です。profile/iviator.asp?p=username

4

1 に答える 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 に答える