默认路由是这样的:{controller}/{action}/{id}
正常访问地址http://localhost:555/controller/action
在虚拟目录下面是这样的:http://localhost:555/test/controller/action
如果将路由改成:test/{controller}/{action}/{id}
那么虚拟目录就变成:http://localhost:555/test/test/controller/action
请问要怎么配置才能运行在虚拟目录下
这是iis结构
3 个解决方案
#1
什么都不用配置啊,默认路由就行了,虚拟目录名IIS会自动加上的,其它和站点没有区别,我刚刚做过这样的小项目,不过要注意的就是页面中不要用类似于 /mysite/images这样的绝对路径,而要用 Url.Content("~/mysite/images")这样转换成相对路径
#2
楼上在开玩笑吗?你里边的跳转连接不用改吗?
#3
说的没错,images、js等资源文件引用路径需要这么写。<a></a>里的链接地址也不能直接写/controller/action而应该写成:@url.action("action","controller"),如果有area,可这么写:@url.action("action","controller",new {area="areaname"})
#1
什么都不用配置啊,默认路由就行了,虚拟目录名IIS会自动加上的,其它和站点没有区别,我刚刚做过这样的小项目,不过要注意的就是页面中不要用类似于 /mysite/images这样的绝对路径,而要用 Url.Content("~/mysite/images")这样转换成相对路径
#2
楼上在开玩笑吗?你里边的跳转连接不用改吗?
#3
说的没错,images、js等资源文件引用路径需要这么写。<a></a>里的链接地址也不能直接写/controller/action而应该写成:@url.action("action","controller"),如果有area,可这么写:@url.action("action","controller",new {area="areaname"})