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