Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何告诉谷歌我有另一个页面?_C#_Asp.net_Iis 7_Iis 6 - Fatal编程技术网

C# 如何告诉谷歌我有另一个页面?

C# 如何告诉谷歌我有另一个页面?,c#,asp.net,iis-7,iis-6,C#,Asp.net,Iis 7,Iis 6,我有一个aspx页面:1.aspx 我的应用程序或URL模块中没有任何路由 我如何告诉谷歌: 我不再使用1.aspx了 请改用2.aspx 他的机器人总是在搜索1.aspx 我如何停止它(并告诉他改为查找2.aspx)?301将1.aspx重定向到2.aspx 客户端重定向将强制您保留页面。通过IIS的服务器端重定向(或托管您的应用程序的任何东西)将永久性地使1.aspx->2.aspx。您可以删除该页面,这无关紧要。使用robots.txt文件: Response.Status = "301

我有一个aspx页面:1.aspx

我的应用程序或URL模块中没有任何路由

我如何告诉谷歌:

我不再使用1.aspx了

请改用2.aspx

他的机器人总是在搜索1.aspx


我如何停止它(并告诉他改为查找2.aspx)?

301将1.aspx重定向到2.aspx


客户端重定向将强制您保留页面。通过IIS的服务器端重定向(或托管您的应用程序的任何东西)将永久性地使1.aspx->2.aspx。您可以删除该页面,这无关紧要。

使用
robots.txt
文件:

Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/2.aspx");
void Application_BeginRequest(object sender, EventArgs e) {
    string url = Request.Url.ToString().ToLower();
    if (url.Contains("/1.aspx")) {
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", "/2.aspx");
    }
} 
您可以在应用程序的根目录下创建一个
robots.txt
文件,并将以下内容放入其中:

User-agent: Google
Disallow: 1.aspx
更多关于robots.txt文件的信息


执行重定向:

Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/2.aspx");
void Application_BeginRequest(object sender, EventArgs e) {
    string url = Request.Url.ToString().ToLower();
    if (url.Contains("/1.aspx")) {
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", "/2.aspx");
    }
} 

Global.asax中不存在该页面的情况下执行重定向:

Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/2.aspx");
void Application_BeginRequest(object sender, EventArgs e) {
    string url = Request.Url.ToString().ToLower();
    if (url.Contains("/1.aspx")) {
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", "/2.aspx");
    }
} 

您需要使用301重定向

这取决于您的技术,但您可以在

例如在ASP中

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.new-url.com/"
%> 

用于ASP.NET

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.new-url.com");
}
</script> 

私有无效页面加载(对象发送方,System.EventArgs e)
{
Response.Status=“301永久移动”;
Response.AddHeader(“位置”http://www.new-url.com");
}
您可以在此处阅读有关服务器端重定向的更多信息:


分别适用于Microsoft Internet信息服务和Apache

谷歌会自动刷新。从网站中删除1.aspx页面。然后,机器人将查找该文件一段时间,但将扫描其余文件并更新索引。

使用301永久重定向。如果您使用的是.NET<4.0:

Response.Status = "301 Moved Permanently";
Response.StatusCode = 301;
Response.AddHeader("Location","http://www.new-url.com");
Response.End();
如果您使用的是.NET 4.0:

Response.RedirectPermanent("http://www.new-url.com");

你可以学习移动301重定向以及谷歌如何处理它们。

我该如何告诉他2.aspx?机器人是指令,而不是命令。让Google知道页面不存在的最好方法是301重定向页面。@Chase,因此我必须保留1.aspx(并在其中写入代码?)我不想保留1.aspx……。如果你想删除页面,可以执行服务器端重定向。这里有一些建议,但它们似乎是客户端的。服务器端301将允许您完全删除页面。@hunter因此我必须保留1.aspx(并在其中编写代码?)我不想保留1.aspx……。您必须在IIS或任何托管应用程序的地方执行此操作。如果你有一个网络管理员,他可以为你做这件事。如果一个页面的内容保持不变,但地址发生了变化,那么301重定向是最好的选择。但是我的页面被很好地索引和命名,我不希望他再这样做。。。帮助?然后保留1.aspx并将新内容放入其中。@RoyiNamir:据我所知,您的问题和评论:您想保留地址(=文件名),但您不再需要该文件,因此我提到了两个选项:)干杯!是的,转换成C#应该很简单!因此,我必须保留1.aspx(并在其中编写代码?)我不想保留1.aspx……如果您不想保留代码,可以理解,您可以使用htaccess重定向或apache重定向(在链接中简要说明)。当然,如果你有这样的访问权限,基本上你只需要从该页面捕获服务器上的输入请求并将它们发送到新页面。你使用的是什么服务器技术?IIS、Apache或其他?这将极大地影响你如何实现这一点。我不想保留1.aspx。。。?这是不是意味着我必须这样做?@RoyiNamir如果URL重写不在考虑范围内,那么是的。必须告诉搜索引擎页面的位置已移动。在你的情况下,1.aspx会重定向到2.aspx。@如果我删除1.aspx,谷歌会永远搜索它吗?还是有时间或X限制?@RoyiNamir这有点离题了。您可能想在webmasters.stackexchange.com上询问特定的SEO问题。但为了回答这个问题,我相信谷歌会在收到404条后停止搜索。这样做的缺点是,如果谷歌不知道你的页面移动到哪里,你的页面就会失去排名。