3

http://mydomain.com/mymvcapp/に ASP.NET MVC3 Web サイトがあります。ただし、Web サイトのルート (mydomain.com) には、PHP を実行する WordPress サイトが含まれています。したがって、次の IIS URL Rewrite ルールを配置して、WordPress が書き換えメカニズムを介して正しく機能できるようにします。

    <rewrite>
        <rules>
            <rule name="wordpress" patternSyntax="Wildcard">
                <match url="*" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php"/>
            </rule>     
        </rules>
    </rewrite>

したがって、このルールを適用すると、WordPress は完全に機能しますが、MVC の書き換えは機能しません。このルールを変更して、WordPress と MVC (/mymvcapp/ フォルダーの下) の両方がうまく共存できるようにするにはどうすればよいでしょうか?

4

3 に答える 3

4

自分でそれを考え出しました。Regex はおそらく、存在する複雑で紛らわしい技術の中で最も強力なものの 1 つです。しかし、この場合、patternSyntax フラグが Regex ではなく Wildcard に設定されていたため、混乱が生じました。これが他の誰かに役立つことを願っています! =]

    <rewrite>
        <rules>
            <rule name="wordpress" patternSyntax="Wildcard">
                <match url="*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{PATH_INFO}" pattern="/mymvcapp/*" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php" />
            </rule>     
        </rules>
    </rewrite>
于 2012-06-19T03:31:31.080 に答える
3

これは、IIS セットアップで WordPress と ASP.NET をうまく共存させることについて述べている数少ない投稿の 1 つです。そのための称賛。

これを元の質問または回答へのコメントとして投稿することを考えていましたが、これは正直な質問であり、書式設定機能が必要なため、「回答」を書くことにしました。

サイトごとに複数の ASP.NET アプリを実行しています。特に、ルート Web サイトは MVC4 アプリを実行しています。

WordPress をルートにインストールすることはできないため、WordPress を独自のアプリ フォルダーhttp://mydomain.com/wordpress/に配置し、次のことを行う URL 書き換えルールを作成する予定でした (peudo-code を使用)。 :

blog.mydomain.com/{path} --> mydomain.com/wordpress/{path}

私はこのアプローチを台無しにしただけで、かなりのパーマリンクを使用して成功していません。リダイレクトループに陥ったり、.cssファイル、管理ページなどへのリンクを壊したりすることがあります...

代わりにワードプレスをサブアプリとして使用し、サブドメインの URL 書き換えを行うなど、これについて考えたことはありますか?!?!

于 2013-09-18T19:45:57.020 に答える
0

同様の状況がありましたが、web.config ファイルを編集する必要はありませんでした。代わりに、https://wordpress.org/support/article/giving-wordpress-its-own-directory/の指示に従いました。

ポイント 7) WordPress プロセスをサブフォルダーに移動する方法 II (URL の変更あり) で、IIS インストールのオプションを見つけます。

于 2020-08-03T08:27:07.680 に答える