IIS服务器下隐藏index.php的方法,重写规则设置

Windows server服务器的IIS架设的PHP网站,访问首页会自动在网址后面加上index.php,那么我们如何使IIS服务器隐藏index.php首页文件呢?iis隐藏index.php,需要设置重写规则。

1.先安装微软的URL Rewrite模块

网址:https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

安装完成后iis会出现Url 重写模块

2.设置重写规则

方法1:在项目网站根目录下创建web.config文件,设置重写规则

重写规则代码1:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="WPurls" enabled="true" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php/{R:0}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

重写规则代码2:

<?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?s={R:1}"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

方法2:iis管理页面设置入站规则,导入重写规则

重写规则设置代码:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

以上3中重写规则都能用,iis隐藏index.php只要把重写规则设置好就行了。

done!

出处:www.l1mn.com

原文标题:IIS服务器下隐藏index.php的方法,重写规则设置

原文地址:https://www.l1mn.com/p/2xqjv2.html

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

评论

皖ICP备2023023451号

Copyright © L1MN.COM 联系方式:l1mnfw@163.com