在web.config中重写URL

时间:2017-07-06 08:49:41

标签: laravel iis web-config

现在,当我点击我的根站点链接 mysite.com 时,我的网站就像这样工作了 mysite.com/public ,子网页被访问为 mysite.com/public/login 即可。 我想删除" public"来自所有网址。

这是我的web.config(使用Laravel' s)

<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>

2 个答案:

答案 0 :(得分:0)

您需要设置您的网络服务器,以便/ public文件夹是网站根目录。如果必须使用/ public为每个URL添加前缀,则表示它当前指向应用程序根目录。

答案 1 :(得分:0)

将.htaccess从公共目录复制到主目录 将主目录中的server.php文件更改为index.php