IIS配置 URLRewrite vue单页应用程序(history模式)

HTML5 History 模式:

vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。

如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。

const router = new VueRouter({
  mode: 'history',
  routes: [...]
})

当你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id,也好看!

不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。

所以呢,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

IIS后端配置:

IIS下部署后的解决方案一般是使用 URLRewrite
1、首先要安装URLRewrite 下载地址
2、在你的网站根目录中创建一个 web.config 文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Handle History Mode and custom 404/500" 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="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

或者使用IIS的URL重写模块添加规则:
在这里插入图片描述
在这里插入图片描述
匹配的url-------请求的URL选择与模式匹配,模式中填写*,使用选项选择通配符;即表示所有的网站都通过此模式进行检查匹配。
在这里插入图片描述
条件--------是下面的条件选项,我们选择不是文件,逻辑分组为全部匹配。
在这里插入图片描述
操作--------重写到index.html(根据情况,设置为自己的单页面应用首页)。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IIS 10 是微软公司推出的一款 Web 服务器软件,而 URL RewriteIIS 10 中的一个模块。它允许用户通过修改 Web 服务器的 URL 请求来实现 HTTP 请求的重定向或重写。URL RewriteIIS 10 中是一个非常重要的功能,可以应用于各种场景,例如优化 SEO、实现 URL 美化、处理重复内容等。 使用 IIS 10 的 URL Rewrite 模块,我们可以通过创建规则来修改请求的 URL。这些规则可以根据正则表达式、字符串匹配或者其他规则来定义。通过配置这些规则,我们可以实现将一个 URL 重定向到另一个 URL,或者修改 URL 的结构,以适应不同的需求。URL Rewrite 还支持提供自定义的响应,例如返回特定的 HTTP 状态码或者自定义错误页面。 除了重定向和重写 URLURL Rewrite 模块还可以帮助我们管理重复内容。通过创建规则,我们可以将不同的 URL 映射到同一个目标 URL 上,从而防止搜索引擎将这些重复内容视为不同的页面。另外,URL Rewrite 还支持缓存、响应头修改、HTTPS 重写等功能,可以提升网站的性能和安全性。 总之,IIS 10 的 URL Rewrite 是一个非常强大和灵活的功能,可以帮助我们实现各种 URL 相关的需求。无论是在优化搜索引擎排名、提升用户体验、处理网站重构还是改善网站性能,URL Rewrite 都可以发挥重要的作用。因此,在配置和管理 IIS 10 时,我们应该充分了解和合理利用 URL Rewrite 模块的功能,从而更好地满足用户和搜索引擎的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值