我想问你一个关于301网址重定向的问题。所以,我有一个网站,以前的URL曾经是:
http://www.sample.com/tutorials.php?name=sample
但是,现在是:
http://www.sample.com/tutorials/programming/sample.php
因此,您可以得出结论,新URL的语法是:
http://www.sample.com/tutorials/(name of the category)/(value of the variable).php
我一直在玩301重定向,但在使用此代码时出现500内部服务器错误:
RewriteEngine On
RewriteCond %{COND ^tutorials.php?name=sample$ HTTP/1.1} ^[A-Z]{3,9}\ /tutorials\.php\?name=([^&\ ]+)
RewriteRule ^ /tutorials/programming/%1.php [L,R=301]
我还尝试创建自己的301重定向代码,它没有给我500内部服务器错误,但我不知道它是否可行(我无法在localhost上测试它,因为搜索引擎没有索引本地主机)。这是:
RewriteEngine On
Redirect 301 /tutorials.php?name=$1 http://www.sample.com/tutorials/programming/(.+)\.php
所以,如果上面的代码不是很好,但如果不是,那么有人可以解释(尽可能慢,详细)如何301将我的旧网站重定向到我的新网站。正如我所提到的,我使用动态网站,我正在使用.htaccess文件(mod_rewrite)重写。
我试图尽可能详细。如果您需要其他详细信息,请随时提出。
答案 0 :(得分:1)
您必须将旧链接重定向到新域。这就是你如何做到的。
使用htaccess :
使用以下代码创建.htaccess文件,它将确保旧域的所有目录和页面都能正确地重定向到新域。 .htaccess文件需要放在旧网站的根目录中(即放置索引文件的目录)
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
除了重定向之外,我建议您联系每个反向链接网站,修改其反向链接以指向您的新网站。
注意:此.htaccess重定向方法仅适用于启用了Apache Mod-Rewrite模块化的Linux服务器。
有关更多方法,请参阅this
修改强>
使用以下代码创建.htaccess文件,它将确保所有进入domain.com的请求都会被重定向到www.domain.com .htaccess文件需要放在旧网站的根目录中(即放置索引文件的目录)
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]