虚拟目录中的相对路径

时间:2012-08-20 11:02:53

标签: asp.net asp.net-mvc hyperlink

我正在将电子商务应用程序从旧的PHP框架迁移到ASP.NET MVC。某些产品在其说明中包含指向其他产品的链接。我写了一个小应用程序来导入从旧网站到新网站的所有内容,现在我也要更新这些链接。我想使链接相对,但相对链接在localhost上不起作用,因为该站点位于虚拟目录中。

旧链接:http://domain/index.php?productID=1234
新链接:/product/1234

新链接无法在localhost中使用,因为它会转换为localhost/product/1234而不是localhost/virtualdirectory/product/1234

我一直在谷歌搜索解决方案很长一段时间,但我似乎找不到任何东西。您对如何解决这个问题有任何想法吗?

我在撰写问题时实际上想出了一个解决方案,但无论如何我都会发布这个问题,也许你想出一个更好的解决方案。

3 个答案:

答案 0 :(得分:0)

我想出的解决方案是使用这样的链接:../../product/1234

答案 1 :(得分:0)

您是否考虑过不在虚拟目录中运行您的应用?虽然它可能是Visual Studio中的默认值,但可以更改。

答案 2 :(得分:0)

在Visual Studio中,右键单击项目,然后单击“属性”。在“Web”选项卡下,在“虚拟路径:”

框中输入虚拟路径

例如,/ MyVirtualPath

在您的代码中,确保您的链接编写为“../ MyVirtualPath /".