有个项目,tp5写的,要配置到项目的public目录下,一开始报错了...后面删除了配置,重新配置成功了,记录一下过程
1.首先,将网站根目录变为你的public目录下
2.添加解析程序的CGI,这里选择你需要解析程序的php版本
3.安装插件,这个安装后,可以让你的路由开启重写.(apache的重写模块是rewrite.so,这个模块的作用应该大致=IIS的路由重写模块)
https://www.iis.net/downloads/microsoft/web-platform-installer
4.重启iis
dos命令输入iisreset
5.附加提示:public目录下有一个web.config配置文件,这个是你变更项目目录自动就会创建的.
网上说要怎么怎么加,如果泥萌没有的化就加一个叭.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<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}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
//上面的是一般的iis环境
如果你的windows装的宝塔面板,维护起来简单方便了很多,但是配置方法就不用上面那种了.
操作方式还是,网站随便选择一个目录,宝塔面板绑定网站,和普通的tp5项目一样绑定就好了
注意点:把你的.htaccess给删除掉
但是接下来你会发现,你的网站可能首页出来了,但是内容页却报错404之类的
原因一般有两个,1是你的入口文件index.php没有隐藏,2.你的url没有开启重写
检查你的iis是否有url重写模块,没有的话参考上面的,如果你有重写模块,但是url路由重写失败了,也会造成404,所以,你需要去你的项目的public/web_config目录下,网站配置文件中添加重写规则.
<rules>
<rule name="已导入的规则 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
PS:在修改规则前,注意这一点,先勾选一次锁定,然后再勾选取消锁定...这样把你的配置文件解锁,你改了才ok..改完后,勾选锁定.至于为什么,看那个下面的红色字体的相关链接.