我正在将电子商务应用程序从旧的PHP框架迁移到ASP.NET MVC。某些产品在其说明中包含指向其他产品的链接。我写了一个小应用程序来导入从旧网站到新网站的所有内容,现在我也要更新这些链接。我想使链接相对,但相对链接在localhost
上不起作用,因为该站点位于虚拟目录中。
旧链接:http://domain/index.php?productID=1234
新链接:/product/1234
新链接无法在localhost
中使用,因为它会转换为localhost/product/1234
而不是localhost/virtualdirectory/product/1234
。
我一直在谷歌搜索解决方案很长一段时间,但我似乎找不到任何东西。您对如何解决这个问题有任何想法吗?
我在撰写问题时实际上想出了一个解决方案,但无论如何我都会发布这个问题,也许你想出一个更好的解决方案。
答案 0 :(得分:0)
我想出的解决方案是使用这样的链接:../../product/1234
答案 1 :(得分:0)
您是否考虑过不在虚拟目录中运行您的应用?虽然它可能是Visual Studio中的默认值,但可以更改。
答案 2 :(得分:0)
在Visual Studio中,右键单击项目,然后单击“属性”。在“Web”选项卡下,在“虚拟路径:”
框中输入虚拟路径例如,/ MyVirtualPath
在您的代码中,确保您的链接编写为“../ MyVirtualPath /".