首页 > 解决方案 > IIS 服务器,如何为 Laravel 5 配置 url 重写?

问题描述

目前,Uni 只为我们提供了一个 IIS 服务器来托管我们的 php 网站,我们想使用 Laravel 框架,它确实可以在主页上运行。但不在任何其他控制器上。

我的公共文件夹中的当前web.config是,

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

我的路线是

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

我不太了解 IIS,所以你有什么想法来配置它以使其工作吗?

PS 我们无权在营地配置 IIS 服务器,我们有权做的是上传web.config.

提前致谢。

标签: phplaraveliis

解决方案


我遇到了同样的问题。经过多次尝试和研究,我意识到这web.config还不够。必须在 IIS 路由设置中设置根文件夹的路径,如下面的屏幕截图示例所示。IIS上的laravel路径. 否则我无法解决路由问题。


推荐阅读