iis部署php项目

今天跟着学习了如何在IIS下部署php项目,操作很简单,记录一下步骤!

1.启动iis服务器

  

 

最后点击确定就完成了

2.打开iis

 

点击进入即可

3.创建网站

 

进入添加网站。

 

添加注意事项如图所示!

 

启动、浏览、重启、停止网站这个如图所示。

需要说明的是  只要修改了配置就必须重启下网站

4.php设置

  ①添加默认文档

 

 

写入  index.php就行

②处理程序映射

 

选择“添加模块映射”

 

 

说明

请求路径:*.php *  知道正则就知道原因了

模块:这个必须在启动IIS的时候,必须勾选"CGI",不然选择的时候找不到 FastCgiModule

 

到此为止  php项目已经是在iis上部署好了【在项目根目录下会生成web.config文件】。但是对于那些需要使用伪静态的  比如  yii2 美化url路由 ....的话,还需要以下的操作:

1.安装urlrewrite

百度URLREWRITE 下载并安装。

2.使用URL重写

安装成功URLREWRITE后,关闭iis后再次启动。接着在页面就会出现url重写项。点击它即可

 

 

 

 

url重写做好之后,会吧配置都写在  web.config 文件里

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="index.php" />
            </files>
        </defaultDocument>
        <handlers>
            <add name="php" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\phpstudy\php\php-7.0.12-nts\php-cgi.exe" resourceType="File" />
        </handlers>
        <rewrite>
            <rules>
                <rule name="wechat">
                    <match url="^\/wechat\/(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/wechat/index.php/{R:1}" />
                </rule>
                 <rule name="已导入的规则 1">
                     <match url="^(.*)$" ignoreCase="false" />
                     <conditions logicalGrouping="MatchAll">
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                     </conditions>
                     <action type="Rewrite" url="index.php/{R:1}" />
                 </rule>
            </rules>
        </rewrite>
    </system.webServer>


</configuration>
复制代码

大家注意了 。我上面的配置有两个重点。

第一  解决了  “关于IIS上Yii2的url路由美化问题”

第二 解决了 “在IIS环境下,yii2web项目如果web目录下有多个应用的话,如何url路由美化的问题”。经过测试,如果我只配置(这个规则是导入web目录下的.htaaccess文件):

复制代码
                 <rule name="已导入的规则 1">
                     <match url="^(.*)$" ignoreCase="false" />
                     <conditions logicalGrouping="MatchAll">
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                     </conditions>
                     <action type="Rewrite" url="index.php/{R:1}" />
                 </rule>
复制代码

但是问题来了,我web下还有一个wechat目录,用于微网站的使用。在我的测试中,发现我们项目上使用的已经美化的url路径直接报错“404”,后面经过我们的调整,然后就把配置改成:

复制代码
        <rewrite>
            <rules>
                <rule name="wechat">
                    <match url="^\/wechat\/(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/wechat/index.php/{R:1}" />
                </rule>
                 <rule name="已导入的规则 1">
                     <match url="^(.*)$" ignoreCase="false" />
                     <conditions logicalGrouping="MatchAll">
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                     </conditions>
                     <action type="Rewrite" url="index.php/{R:1}" />
                 </rule>
            </rules>
        </rewrite>
复制代码

如果把这两个规则换个位置的话,结果会发现微网站的美化地址又是404

我这里解释下原因:规则应该是从上往下配置,选择最优配置。

继续阅读
weinxin
我的微信公众号
扫一扫获取最新动态
  • 文本由 发表于 2017年6月11日05:29:45
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
0基础30天精通网站建设,月入6000元起 杂谈

0基础30天精通网站建设,月入6000元起

读完本篇,将教给你月收入6000元的能力,这里将要介绍一套技术实操型课程,同时会免费送每位读者一个价值12000元的课程。这是一门真正的技术,是所有网络项目的基础,是网“贝兼”的必备技能,也是目前市场...
MySQL实战篇:建立高性能的MySQL技巧 杂谈

MySQL实战篇:建立高性能的MySQL技巧

前言 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特...
MySQL进阶:从小工到专家的必读书籍 杂谈

MySQL进阶:从小工到专家的必读书籍

各大论坛上总是有很多同学咨询学习MySQL有哪些书,或者是入行DBA要做哪些准备。今天就和大家分享下想学习MySQL可以选择哪些书籍。 数据是Web应用程序最重要的部分。随着互联网和高端Web应用程序...