0

私は自分のWebサイトにURL書き換えを使用しています。IISで設定を行いましたが、サーバーで機能します。ただし、ローカルホストでは機能しません。プロジェクトファイルにURLが書き換えられたページがないため、これは正常です。どうすればこの問題を解決できますか?プロジェクトを開発するときは、cassiniサーバーを使用します。コンピューターでローカルIISを使用する必要がありますか?ここで、web.configファイルにある私のURL書き換えロールを確認できます。

 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
        <rewrite>
            <outboundRules>
                <rule name="OutboundRewriteUserFriendlyURL1" preCondition="ResponseIsHtml1">
                    <match filterByTags="A, Form, Img" pattern="^(.*/)ProductDetail\.aspx\?prid=([^=&amp;]+)&amp;(?:amp;)?product=([^=&amp;]+)$" />
                    <action type="Rewrite" value="{R:1}ProductDetail/{R:2}/{R:3}/" />
                </rule>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                    </preCondition>
                </preConditions>
            </outboundRules>
            <rules>
                <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
                    <match url="^urun/([^/]+)/([^/]+)/?$" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="ProductDetail.aspx?prid={R:1}&amp;product={R:2}" />
                </rule>

            </rules>
        </rewrite>
        <urlCompression doDynamicCompression="false" />
  </system.webServer>
4

3 に答える 3

2

代わりにURLルーティングを使用しないのはなぜですか?それはより良い方法です

于 2012-12-13T18:32:46.233 に答える
0

はい、Windowsコンポーネントの追加と削除を使用してローカルコンピューターにIISをインストールする必要があります。

インストールしたら、ローカルIIS内で「URL書き換えモジュール」も有効にしてください。

于 2012-12-13T18:35:28.630 に答える
-1

<add input="{HTTP_HOST}" pattern="localhost" negate="true" /> URLリライタがローカルホスト上のすべてのリクエストを無視するよう に、否定条件を追加する必要があり ます。

<rewrite>
  <rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
      </conditions>
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
    </rule>
  </rules>
</rewrite>
于 2014-11-19T14:38:32.600 に答える