不要认为这是前面提到的重复问题。是的,这有点重复,但需要澄清一些关于我网站的内容。
我已将旧网址更改为包含更多参数的新网址。像,
旧网址1: - http://www.example.com/Threads/24/sample-thread.html
新网址1: - http://threads.example.com/IN/24/215/sample-thread.html // (IN,215 can be changed. 24 remains)
旧网址1: - http://www.example.com/Threads/25/sample-thread2.html
新网址2: - http://threads.example.com/UK/25/302/sample-thread2.html // (UK,302 can be changed. 25 remains)
Both pages are having same contents and both URLs refers to the same page
。由于Google中有很多索引页面,我不想放弃访问者。
所以我想将旧网址重定向到新网址而不影响搜索引擎。对我的情况来说,最好的解决方案是什么?
.htaccess
或php
?我该怎么办?
谢谢
答案 0 :(得分:2)
你应该使用php
只需在旧网址中添加以下代码,它就会将您重定向到新网址
新网址
<?php
header("Location: http://threads.example.com/IN/24/215/sample-thread.html");
?>
为所有页面执行此操作
答案 1 :(得分:2)
带有R=301
的mod_rewrite(永久重定向)是处理此方案的标准方法(将旧URL移动到新方案中)。
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?example.com$ [NC]
RewriteRule ^Threads/(24)/([^.]+\.html)$ http://threads.example.com/IN/$1/215/$2 [L,R=301,NC]
RewriteCond %{HTTP_HOST} ^(www\.)?example.com$ [NC]
RewriteRule ^Threads/(25)/([^.]+\.html)$ http://threads.example.com/UK/$1/302/$2 [L,R=301,NC]