IIS7.5へのマルチサイトの構築
-
IIS7.5上(win2008R2)にwordpressの構築をしています。
ドメインのトップレベルにインストールしました。この状態で、マルチサイトの構築をしてみました。
方式は、サブディレクトリ方式です。
やり方は、wp-config.phpにdefine(‘WP_ALLOW_MULTISITE’, true);を追加してその後の画面の指示どうりに従いました。
サイトの追加まではちゃんと出来ましたが、その後、新規サイトの管理画面に移行しようとすると、404エラーとなります。
URL書き換えルールの<rule name="WordPress Rule 4" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" ignoreCase="false" /> <action type="Rewrite" url="{R:1}" /> </rule>
において、リライトURLが、{R:1}とあるのはおそらく{R:2}のはずです。
これを修正して、管理画面には遷移が出来るようになりました。
サイトも一応ちゃんと閲覧できるようです。
しかし、子サイトから、ログアウトをすると、
http://www.****.jp/saito-mei/wp-login.php?redirect_to=……
へリダイレクトしますが、このページが404となります。おそらく、ここで適用されるURL書き換えルールは、
<rule name="WordPress Rule 5" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" /> <action type="Rewrite" url="{R:2}" /> </rule>
で規定されているルールでしょう。
ここはどうも、match urlが間違っているように感じます。正しくは、”^([_0-9a-zA-Z-]+/)?(.*\.php)$”かとおもいます。
ここを修正すると、無事ログアウト後、ログイン画面を表示することが出来ます。まだまだ他の画面遷移のパターンで全てが満たされているかまではチェックできていません。
コード修正の妥当性に関しては、検証していただけるとありがたく思います。とりあえず、情報提供のみです。
失礼しました。
- トピック「IIS7.5へのマルチサイトの構築」には新たに返信することはできません。