2013-10-17 100 views
2

最近,我用php構建了一個站點,但他們擁有的舊站點全部都是HTML。所以現在我不知道什麼是最好的方式來重定向所有這些舊的鏈接到新的網站(可能重定向到HTML的所有鏈接到主域).htaccess,最佳做法是什麼?將舊鏈接(HTML網站)重定向到一個新頁面(PHP站點)

這裏是我試過,但該網站說,很多重定向循環:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example.de 
RewriteRule (.*) http://www.example.de/$1 [R=301,L] 
RedirectMatch "\.html$" http://www.example.de 

所以首先我們重定向所有非www鏈接www,然後在頁面具有的.html到底什麼時候重定向到主站點。

+1

不知道我正確理解你的問題 - 但也許使用URL重寫 - 然後你可以鏈接所有.html到新的.php文件 –

回答

1

選項1:重定向所有的舊.html鏈接到新網站的/

RewriteEngine On 

RewriteRule \.html$/[L,R=301,NC] 

選項2:如果.html文件名和.php文件名是相同的,然後重定向所有的舊.html鏈接到新網站的.php/

RewriteEngine On 

RewriteRule ^(.+?)\.html$ /$1.php [L,R=301,NC] 
1

如果它是一個需要指向的新域名,則取決於從舊域名添加一個指向新域名的域指針,這將在處理重定向的服務器中解析,這是最有效的方式。

這會比.htaccess更好,因爲它速度更快,並且不會導致第二次初始頁面加載(由於重定向)。

如果您沒有訪問服務器或domainpointers你可以做的index.html的index.php文件如果PHP舊的服務器上運行,從這裏簡單地說:

header('Location: http://www.newdomain.com/'); 

這將自動重定向。

希望這對你有所幫助。

‐希德

+0

其在同一臺服務器上,但舊網站的所有頁面在HTML中,所以我不能把php標籤放在它們上面。 – TooCooL

+0

爲什麼不把新的PHP網站放在當前網站的目錄中?保存重定向。 – SidOfc

+0

是的,它是在同一個目錄中,但舊鏈接都在.html中,新鏈接在.php中(與舊結構不同),所以現在當我要刪除那些舊的html文件時,用戶和搜索引擎會得到404錯誤 – TooCooL

相關問題