̃Gg[͂ĂȃubN}[Nɒlj

IIS で mod_rewite を使う



[リライトモジュールのインストール]
IIS にリライトモジュールが入ってない場合は、まず最初にインストールします。
インスール方法は、ググればたくさんヒットします。


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

上記のような Rewrite ルールを適用したい場合、Web.config に以下のように定義します。

  • Web.config は、.htaccess のようなものです。


  • Web.config
<?xml version="1.0"?>
<configuration>
  <system.webServer>

  :

  <rewrite>
    <rules>
      <rule name="Imported Rule 1" stopProcessing="true">
        <match url="^(.*)$" ignoreCase="false" />
        <conditions>
          <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
          <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
        </conditions>
        <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
      </rule>
    </rules>
  </rewrite>

  :

  </system.webServer>
</configuration>
  • 必ず <system.webServer>…<system.webServer> 内に記述します。



php.ini のコメントを外して、以下を有効にします。

  • php.ini
cgi.fix_pathinfo=1






server/iis/mod_rewite.txt