Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
Http 需要将旧URL重定向到新URL的建议吗_Http_Redirect - Fatal编程技术网

Http 需要将旧URL重定向到新URL的建议吗

Http 需要将旧URL重定向到新URL的建议吗,http,redirect,Http,Redirect,早些时候,我已经在主域中安装了我的代码。比如说, www.abcd.com/xyz/page.html 大约有300个页面被谷歌用旧的URL编入索引 现在我已经从主域中删除了该代码,并在子域中安装了该代码。因此,所有的URL都被Google索引,所有的反向链接都指向旧的URL 现在,当用户单击旧URL时,我需要将所有旧的无效URL指向新的有效URL 请建议如何处理这个问题 非常感谢…PHP: header('Location: new.url.com'); PHP: 如果您使用Apache作为

早些时候,我已经在主域中安装了我的代码。比如说,

www.abcd.com/xyz/page.html

大约有300个页面被谷歌用旧的URL编入索引

现在我已经从主域中删除了该代码,并在子域中安装了该代码。因此,所有的URL都被Google索引,所有的反向链接都指向旧的URL

现在,当用户单击旧URL时,我需要将所有旧的无效URL指向新的有效URL

请建议如何处理这个问题

非常感谢…

PHP:

header('Location: new.url.com');
PHP:


如果您使用Apache作为web服务器,则可以使用或命令。这更像是一个服务器作业,而不是编程作业

您可以将以下内容放入
.htaccess
文件或
vhost
容器中

修改 见:

模组别名 见:

PHP 您可以使用
位置
标题执行重定向:

header('Location: http://domain.com/new-page.php', true, 301);
JAVA
请参阅:

如果您使用Apache作为web服务器,则可以使用或命令。这更像是一个服务器作业,而不是编程作业

您可以将以下内容放入
.htaccess
文件或
vhost
容器中

修改 见:

模组别名 见:

PHP 您可以使用
位置
标题执行重定向:

header('Location: http://domain.com/new-page.php', true, 301);
JAVA
请参阅:

这应由服务器处理,最好使用htacces重定向

这应由服务器处理,最好使用htacces重定向

如果您使用的是Apache,我建议您使用
mod_rewrite
,因为它允许发送永久移动的HTTP状态
301,通知搜索引擎您网站的内容已移动到新位置(而不仅仅是删除)

在.htaccess文件中:

RewriteEngine on
RewriteRule (.*) http://newdomain.mysite.com/$1 [R=301,L]
第一行启用URL“重写”,这是一个用于各种重定向的奇特术语。第二行分解如下:

  • RewriteRule
    是匹配URL并更改其指向位置的指令
  • (.*)
    是与任何请求的文件路径匹配的正则表达式(不带初始斜杠)
  • http://newdomain.mysite.com/$1
    是您希望将访客发送到的位置,
    $1
    扩展到先前匹配的路径
  • [R=301,L]
    告诉Apache发送永久移动的
    301
    HTTP状态代码,这是最后一个可以匹配此请求的
    重写规则(只有当您有多个
    重写规则
    时才有用,但无论如何都不会有伤害)

下一次爬虫访问您的站点时,他们将注意到HTTP状态并更新到您新地址的链接。你应该在Google认为你的整个网站变成404之前尽快设置好它。

如果你使用Apache,我建议你使用
mod_rewrite
,因为它允许发送HTTP状态
301永久移动
,通知搜索引擎你网站的内容已经移动到新位置(而不仅仅是删除)

在.htaccess文件中:

RewriteEngine on
RewriteRule (.*) http://newdomain.mysite.com/$1 [R=301,L]
第一行启用URL“重写”,这是一个用于各种重定向的奇特术语。第二行分解如下:

  • RewriteRule
    是匹配URL并更改其指向位置的指令
  • (.*)
    是与任何请求的文件路径匹配的正则表达式(不带初始斜杠)
  • http://newdomain.mysite.com/$1
    是您希望将访客发送到的位置,
    $1
    扩展到先前匹配的路径
  • [R=301,L]
    告诉Apache发送永久移动的
    301
    HTTP状态代码,这是最后一个可以匹配此请求的
    重写规则(只有当您有多个
    重写规则
    时才有用,但无论如何都不会有伤害)

下一次爬虫访问你的站点时,他们会注意到HTTP状态并更新到你新地址的链接。你应该在Google认为你的整个站点变成404之前尽快设置它。

这也是我过去使用的,它只会在页面加载后立即重定向。因为代码很少,所以它会加载并重新加载cts很快。这对SEO不好!你还应该发送状态码
301永久移动
@Neal,不过可能会有一些挑剔。
位置
头需要一个完整的URL,从协议开始(尽管它被滥用的方式非常糟糕,浏览器都会得到)。还有,当PHP(或者Apache,我不确定)看到您发送
位置
头,它会将HTTP状态设置为
302 Found
,这不会告诉您内容是临时移动还是永久移动;因此,最好将301显式(
头(“位置:http://newplace.com/$url“,true,301)
就可以了)@zneak您可以在页眉中使用相对URL。@Neal,它可以工作,但不是标准行为。请参阅第14.30节。这也是我过去使用的,它只会在页面加载后立即重定向。由于代码很少,它会快速加载和重定向。这对SEO不好!您还应该发送状态代码
301永久移动
@Neal,不过可能会有一些吹毛求疵的地方。
位置
标题需要一个完整的URL,从协议开始(尽管它被滥用的方式非常糟糕,浏览器都会得到它)。另外,当PHP(或Apache,我不确定)如果您发送
位置
标题,它会将HTTP状态设置为
302 Found
,这不会告诉您内容是临时移动还是永久移动;因此,最好将301显式(
标题(“位置:http://newplace.com/$url“,true,301)
就可以了。)@zneak你可以用r
RewriteEngine on
RewriteRule (.*) http://newdomain.mysite.com/$1 [R=301,L]