1

書き換え時に小文字の URL を強制する最良の方法は何ですか?

  • Global.asax?
  • web.config?

すべてが失敗しました...何が間違っていますか? 以下を参照してください。

Global.asax

どの方法を使用すればよいかわかりませんか?

void Application_BeginRequest(object sender, EventArgs e)
    {
        HttpContext context = HttpContext.Current;
        string path = Request.Path.ToLower();

        context.RewritePath(path);
    }

web.config

web.config メソッドを使用してみましたが、管理できません:

<rewrite url="(.*)$" to="$1" permanent="true" />

URLが自動的に小文字になるように上記のコードを変更するにはどうすればよいですか?

4

3 に答える 3

2

IIS の URL 書き換えモジュールを試しましたか?

http://www.iis.net/download/urlrewrite

小文字には特定の規則があります。 ここに画像の説明を入力

于 2012-05-02T10:38:23.227 に答える
1

your user小文字の URL を強制的に書く方法はありません。生成されるすべての URLyouは小文字にすることができます。URL に大文字が含まれている場合は、ユーザーを小文字バージョンにリダイレクトできます。

void Application_BeginRequest(object sender, EventArgs e)
{
    string path = Request.Path;
    if (ContainsUpperChars(path))
    {
        HttpContext.Current.Response.Redirect(Request.Path.ToLower());
    }
}

bool ContainsUpperChars(string str) { some code to test for uppercase chars }
于 2012-05-02T09:52:53.003 に答える
1

web.config で URL 書き換えタグを使用します。vs2012 がタグを認識しない場合は、次のページにあるスクリプトを実行してください。 私が物事を理解していたこと。 ScottGu のブログと Meligyのブログ

<system.webServer>                                               
<rewrite>
            <rules>
                <rule name="LowerCaseRule" stopProcessing="true">
                    <match url="[A-Z]" ignoreCase="false" />
                    <action type="Redirect" url="{ToLower:{URL}}" />
                </rule>
            </rules>
        </rewrite>
</system.webServer>
于 2016-02-10T15:30:43.487 に答える