0

Windows Server2008R2上のIIS。

私は次のものを持っています(これはURLリライト2.0によって生成されました):

<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^/([^/]+)/?$" />
    <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="?p={R:1}" appendQueryString="true" logRewrittenUrl="true" />

私はそれが引き起こすだろうと思った

http:// localhost / 56321

次のように相互作用します:

http:// localhost /?p = 56321

誰かがそれが間違っているのを見ることができますか?404エラーが発生するだけです。

また、URLリダイレクトルールを試しましたが、これは正常に機能するため、モジュールが機能していることがわかります。

4

1 に答える 1

1

解決策は正しいですが、URL に一致する正規表現はスラッシュで始まらないでください。以下の作品:

<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
    <match url="^([^/]+)/?$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="?p={R:1}" appendQueryString="true" logRewrittenUrl="true" />
</rule>

お役に立てれば。

于 2012-05-09T10:59:24.057 に答える