1

我用 ASP.net MVC 实现了一个网站。它在离线时工作正常。但是在我的 Godaddy 主机上上传项目后,URL 发生了变化。

我在 Godaddy 的主机以某种方式在一台主机上支持不同的域。我的根目录中有一个网站,还有一些其他网站的文件夹。一个结构如下

在此处输入图像描述

我将整个项目拖到文件夹测试。假设我的域是 www.example.com,我创建了一个名为 test 的文件夹,然后将其附加www.example.com到该\test文件夹​​。问题是当我www.exmple.com在浏览器中输入,然后按回车,URL 更改为“www.example.com/test/en”(“en”是我的视图的名称)但问题是我不想要在 URL 中有我的文件夹(测试)的名称。

我不确定问题是在我身边还是在 Godaddy,但这是我的路线配置,它完全符合我在离线时的需要。

 public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
             name: "Default",
            url: "{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

这是我的控制器:

   public class HomeController : Controller
{
    public async Task<ActionResult> Index()
    {


        try
        {
            string userIpAddress = this.Request.UserHostAddress;
            //string userIpAddress = "2.63.255.255";

            var client = new HttpClient
            {
                BaseAddress = new Uri("http://freegeoip.net/xml/")
            };

            var response = await client.GetAsync(userIpAddress);

            var content = await response.Content.ReadAsStringAsync();

            var result = (Response)new XmlSerializer(typeof(Response)).Deserialize(new StringReader(content));
            var country_name = result.CountryName;
            var country_code = result.CountryCode;
            TempData["Country_code"] = country_code;
            TempData["Country_name"] = country_name;

            if (country_code == "FR")
            {


                return RedirectToAction("en", "Home");
            }
            else if (country_code == "JP")
            {


                return RedirectToAction("en", "Home");
            }
            else if (country_code == "DE")
            {


                return RedirectToAction("en", "Home");
            }





            else
            {


                return RedirectToAction("en", "Home");

            }


        }
        catch
        {



            return RedirectToAction("en", "Home");

        }

    }


    public ActionResult en()
    {
        return View();
    }
  }

我希望 URL 只需更改为www.example.com/enwww.example.com/test/en 的 insted

感谢任何帮助。

4

0 回答 0