我使用 codeigniter框架和Xampp apache服务器在本地开发了项目, url重定向已打开,重写规则在.htaccess文件中定义并正常工作,这是我的.htaccess文件:
RewriteEngine On
RewriteBase /myproject
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
现在突然客户端需求已经改变,他想要所有的Windows环境,而不是他建议使用IIS的apache,所以我必须转移到IIS。正在运行的相同项目正在运行并重定向默认控制器,该控制器在routes.php文件中定义,但我的其他重定向不起作用。我搜索并发现.htaccess文件无法在IIS上工作,需要将.htaccess文件转换为web.config但是我试图将我的.htaccess转换为 web.config ,如下所示:
<?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错误500.19 - 内部服务器错误 无法访问请求的页面,因为页面的相关配置数据无效。
详细错误信息:
模块IIS Web核心
通知BeginRequest
处理程序尚未确定
错误代码0x8007000d
配置错误
配置文件\?\ C:\ inetpub \ wwwroot \ myproject \ web.config 请求的网址http://localhost:80/myproject/ 物理路径C:\ inetpub \ wwwroot \ myproject \ 登录方法尚未确定 登录用户尚未确定
配置来源: -1: 0:
我尝试了不同的代码,但每次都显示相同的错误,**请帮助