2012-09-15 116 views
0

我想问你一个关于301 URL重定向的问题。所以,我有一个网站,它曾经是前网址:301在动态PHP网站中使用.htaccess重定向

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

​​

我也试图创建自己的301重定向代码,它没有给我500内部服务器错误,但我不知道将它的工作(我可以”:当我用这个代码nternal服务器错误在本地主机上测试它,因为搜索引擎不索引本地主机)。那就是:

RewriteEngine On 
Redirect 301 /tutorials.php?name=$1 http://www.sample.com/tutorials/programming/(.+)\.php 

所以,如果我上面的代码比大好事,但如果没有的话,可以有人请解释(如缓慢和尽可能详细,请)如何301我的旧网站重定向到我的新的。正如我所提到的,我使用动态网站,并使用.htaccess文件(mod_rewrite)重写。

我试图尽可能详细。如果您需要更多的细节,请随时询问。

回答

1

您必须将旧链接重定向到新域名。这是你如何做到的。

使用的htaccess

创建下面的代码.htaccess文件,它将确保您所有的目录和你的旧域名的页面将被正确重定向到新的域名。 .htaccess文件需要被放置在你的旧网站的根目录下(即在您的索引文件放在同一个目录下)

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 

除了重定向我建议您联系每一个网站的backlinking修改他们的反向链接以指向您的新网站。

注意:此.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] 
+0

OK,我添加了共同的.htaccess你给我了。只要问一下,现在所有的问题都可以:http://www.sample.com/tutorials.php?name = something,将被重定向到:http:/www.sample.com/tutorials/programming/something.php – TheGhost

+0

好的,非常感谢!只要再问一个问题,我可以在RewriteRule(。*)http://www.sample.com/$1 [R = 301,L]之前加上:RewriteCond%{HTTP_HOST}^sample \ – TheGhost

+0

对不起,我没有看到它..我得到404当我尝试[这](http://www.sample.com/tutorials/programming/something.php).. –