今日、自分のサイトに取り組んでいるときに、URL をすべて小文字に変換し、URL にスラッシュがない場合は末尾にスラッシュを追加するために使用する、通常の書き換えルールのいくつかを追加しました。
これを行うと、マネージャー インターフェイスにアクセスできなくなりました。ログインページのcssが消え、ログイン時に機能せず、ホームページにリダイレクトされました。
これを回避するためにいくつかの書き換えルールを追加しましたが、あなたが既に行ったより良い方法があるかどうか疑問に思っていましたか?
これが実行可能な解決策であり、それらを Gist で使用したい場合は、以下に書き換えを示します。
最初の 2 つの規則は、マネージャー インターフェイスにアクセスするときに処理を停止するためのものであり、最後の 2 つの規則は、IIS からすぐに使用できるもののほんの一部であることに注意してください。最後に 1 点。通常は末尾にスラッシュがありますが、Piranha を使用する場合、ログイン後にマネージャー インターフェイスにアクセスするために末尾のスペースを強制する必要はありませんでした。
<rewrite>
<rules>
<clear />
<rule name="IgnorePiranhaAreas" patternSyntax="ECMAScript" stopProcessing="true">
<match url="areas/manager" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="None" />
</rule>
<rule name="IgnorePiranhaManager" stopProcessing="true">
<match url="/manager" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="None" />
</rule>
<rule name="LowerCaseRule1" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Redirect" url="{ToLower:{URL}}" />
</rule>
<rule name="RemoveTrailingSlashRule1" stopProcessing="true">
<match url="(.*)/$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" url="{R:1}" />
</rule>
</rules>
</rewrite>