问题描述
我将项目部署到IIS上,但是访问时路由不生效,直接输入地址后,不会跳到响应页面,而是显示404
问题解答
回答1:是的,服务器并没有对应地址的资源,所有请求都要重定向到主页
回答2:url rewrite设置了?
Nginx用的多,IIS的就不知道怎么写了...原理类似
location / { try_files $uri $uri/ /index.html =404; }回答3:
是不是用了 html5 pushstate 却忘了在服务器端设置路由指向呢?
回答4:如果是纯静态文件的话,IIS会根据路由寻找相应目录的文件,找不到自然就是404了。有两种方法解决:
写一个渲染页面的后台路由,所有路由都返回一个页面,如index.html,然后页面就可以捕获路由自己处理了
设置IIS的url rewrite,这个你就需要百度下了