2012-09-15 57 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).. –