我想在我的Windows 2008 R2服务器上进行一些测试。也就是说,让URL重定向到localhost
。
例如,让"http://mysample.mydomain.com/index.html"
实际访问“http://localhost/index.html”。我有什么方法可以做到这一点吗?
我尝试编辑windows\system32\drivers\etc\hosts
文件,添加127.0.0.1 -> mysample.mydomain.com
映射,但它不起作用。似乎127.0.0.1
和localhost
不相同。
我可以访问“http://localhost/index.html”,但我无法访问“http://127.0.0.1/index.html”!
提前致谢!
答案 0 :(得分:0)
编写继承自System.Web.UI.Page的类,然后在加载时重写:
public abstract class CorePage : Page
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//TODO: check request url and make a redirect if required!
}
}
将所有页面更改为继承自CorePage并完成作业!这当然只适用于应用程序级别的aspx页面而不适用于整个IIS。
答案 1 :(得分:0)
由于您使用的是Windows 2008 R2服务器,我猜您使用的是IIS进行测试。另请注意,Windows Server 2008是默认情况下“启用”IPv6的第一个Windows版本 - 但是您的IPv4版本也启用了吗?
Enable IPv4: [Control panel > Network and sharing center > Change adapter settings > Right click the adapter used for connectivity and select properties > See if IPv4 is checked. ]
我认为您的localhost在内部已被解析为使用:: 1(IPv6)环回地址。您可以通过检查确认:
对于IPv6测试:ping localhost -6
和IPv4测试:ping localhost -4
。如果它解析为:: 1,则使用IPv6地址。
您的\ etc \ hosts文件应包含以下条目:
::1 locahost mysample.mydomain.com
现在以ping mysample.mydomain.com -6
进行ping测试。这应该确认mysample.mydomain.com已经解析为您的本地环回
地址使用IPv6。
参见: