IIS7上的Laravel 5无法与web.config一起使用

时间:2016-10-28 12:45:47

标签: windows laravel iis laravel-5.2

我有一个简单的Laravel 5应用程序。它是在Xampp上开发的,并且工作得很好。我将它复制到生产服务器上,但它不起作用。 web.config文件出了问题,因为如果我将其删除,那么该应用程序可以与index.php / path完美配合

我的webconfig如下:

<?xml version="1.0" encoding="UTF-8"?>
<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>

该应用位于该网站的子文件夹中,我无法创建新网站,但我可以根据需要重新启动IIS。我真的不太了解IIS(事实上我讨厌它),所以我不知道在哪里检查,但由于应用程序在没有web.config的情况下工作,我认为它一定是罪魁祸首。

1 个答案:

答案 0 :(得分:3)

IIS需要让URL Rewrite Module Laravel web.config起作用。

在XAMPP上,它将开箱即用,因为包含了Apache mod_rewrite模块,并且XAMPP已经提供了大部分配置设置。

  

Microsoft URL重写。   从here

下载