Laravel5 iis 伪静态写法

问题描述

下面是Nginx的写法:

location / {
try_files $uri $uri/ /index.PHP?$query_string;}

想在iis环境下伪静态写,效果一样。 谢谢你帮我!

解决方法

您可以尝试以下 URL 重写规则来实现您的要求:

  <configuration>
    <system.webServer>
        <rewrite>
        <rules>
            <rule name="Rule 1" stopProcessing="true">
            <match url="^(.*)/$" ignoreCase="false" />
            <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
            </rule>
            <rule name="Rule 2" stopProcessing="true">
            <match url="^" ignoreCase="false" />
            <conditions>
                <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" />
            </rule>
        </rules>
        </rewrite>
    </system.webServer>
</configuration> 

确保您已安装 iis URL 重写模块。如果没有,您可以从以下链接下载:

https://www.iis.net/downloads/microsoft/url-rewrite