IISとWordpressとURL書き換え(Rewrite)
目次
WEBサーバーがApatchであればmod_writeでWordpressのURL書き換えが行えますが、IISの場合はmod_rewriteが使えません。でもIIS7以降は『URL Rewriteモジュール』というものをインストールすれば.htaccessのようなweb.configというファイルにリライトルールを記載することで実現ができるようです。
方法
- 『Microsoft Web Platform Installer』をダウンロード。
http://www.microsoft.com/web/downloads/platform.aspx - 『IIS Rewrite 2.0』を追加する
『製品タブ』の中にあります。あとは画面に従ってインストールしてください。
- サイトのルートディレクトリの『web.config』に以下を記載。
ファイルが存在しなければ作成してください。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
これで、以下のWordpressのリライトルール(.htaccess)と同じ動作になります。
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
『URL Rewriteモジュール』をIIS8にインストールすると『インターネットインフォメーションサービス(IIS)マネージャー』のページに『URL書き換え』というアイコンが追加されています。ここから『web.config』の内容をGUIで追加することも可能です。