2

非常に単純なURL書き換えルールを作成したいと思います。VisualStudio2010でIIS7Express(XP)をローカルで使用しています。作成したルール(ここの例からコピー)は、ローカルで完全に機能します。ただし、ホスティングサーバーにコピーするとすぐに、500エラーが発生します。

web.Configからの抜粋:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <rewrite>
        <rules>
            <rule name="Rewrite to article.aspx">
                <match url="^article/([0-9]+)/([_0-9a-z-]+)" />
                <action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

ルールがアプリケーションを破壊しているものであると仮定して、ルールセクションを削除しましたが、アプリケーションは500エラーをスローします。ただし、書き換えセクションを完全に削除すると、アプリケーションは正しく読み込まれます。

だから私の質問は、私は私のweb.Configから何かが欠けていますか?彼らの主張は、これはスクリプトの問題であり、URLモジュールが適切にインストールされてIIS7サーバーで機能しているというものです。スクリプトでこれを確認する方法はありますか?

4

1 に答える 1

0

私はまったく同じ問題を抱えていて、MicrosoftURLRewriteを機能させるためにGoDaddyサポートと連携するのに非常に多くの時間を費やしました。最終的に、この投稿に基づいてManagedFusionRewriterを起動して実行しました。

私はGoDaddy4GHUltimate Windowsホストを使用しており、SSLが有効になっています。ルートにWordPressをインストールし(パーマリンクが機能しています!)、他の.NETアプリケーションを仮想ディレクトリで実行しています。

これが、誰かがGoDaddyグリッドホスティングでMicrosoftURLRewriteを動作させようとするのを回避するのに役立つことを心から願っています...

ちなみに、WordPressのパーマリンクを適切に処理するためのManagedFusionの書き換えルールは次のとおりです。

RewriteEngine On

RewriteBase /

# wordpress admin folder rewrite rules
RewriteCond %{REQUEST_URI} ^wp-admin/
RewriteRule ^wp-admin/(.*) . /wp-admin/$1 [C]

# wordpress includes folder rewrite rules
RewriteCond %{REQUEST_URI} ^wp-includes/
RewriteRule ^wp-includes/(.*) . /wp-includes/$1 [C]

# wordpress general rewrite rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php [L]

行を削除したことを除いて、リンクされた投稿からweb.configをそのまま使用しました<defaultDocument enabled="false" />

于 2012-07-18T23:23:05.013 に答える