IISバージョン7.5でのCodeigniterアプリの展開に関連するヘルプをお願いしたいと思います。CodeigniterとIISに関連する他の投稿をここで読んでみましたが、どれも機能しません。Apacheで正常に動作するCodeIgniter1.7を使用してアプリケーションを開発しましたが、Windows7UltimateのIIS7.5では動作させることができません。
まず、phpはすでにサーバーで機能しており、それを機能させるためのすべての手順を実行しました。また、phpアプリケーションが機能してhtaccessなどのファイルを使用するために必要と思われるIIS_UrlRewriteModuleをインストールしました。(添付されているのは、サーバー内のphpinfoのJPGです)。これはローカルサーバーIIS7.5です。
その後、PHPが機能することを確認し、WebアプリケーションのフォルダーをC:\ inetpub \ wwwroot \内に配置します。これは、Apacheで使用している.htaccessです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /application/index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /application/index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ application/index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 index.php
</IfModule>
そして、IISではweb.configファイルを使用する必要があることを読んだので、stackoverflowの別の投稿の例に基づいてファイルを作成しました。次のコードがあります。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="MyRule"> <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/{R:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
しかし、「http:/ / localhost / application」にアクセスすると、次のようになります。
また、「http:/ /localhost/application/index.php」を入力すると、エラー500が発生します。アプリケーションのルートディレクトリにweb.configしかない場合、またはルートディレクトリに.htaccessがある場合も、同じ状況になります。他に何をすべきかわからないので、助けてください。