我使用ASP.net MVC实现一个网站。它离线工作正常。但是在我的Godaddy主机上传项目后,网址发生了变化。
我在Godaddy的主人某种方式是它在一个主机上支持不同的域名。我的根目录中有一个网站,其他网站有一些文件夹。结构如下面
我将整个项目拖到文件夹测试中。假设我的域名是www.example.com,我创建一个名为test的文件夹,然后将www.example.com
附加到\test
文件夹。问题是我在浏览器中输入www.exmple.com
,然后按回车键,网址更改为' 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();
}
}
我希望网址只需更改为www.example.com/test/en
的www.example.com/en
内容
感谢任何帮助。