2017-09-19 67 views
1

我想問你對我的新網站頁面重定向的幫助和意見。 我有一箇舊的網站,有舊的設計和太複雜等,現在我做了一個新的,但老在谷歌搜索有一個很好的位置,所以我想保持這個位置。 我用的.htaccess的重定向我的舊網頁的新這樣的:.htaccess重定向沒有保留舊網站,http到https

redirect 301 /oldwebsite/oldfile.html https://www.newsite.com/index.php 

它的作品,但我有一些疑問和問題:

1,舊的網站頁面是html的網頁新是所有.PHP

2,舊的網站是http://www.mywebsite.com/index.html但現在我做了,我想在頁面重定向到https://www.mywebsite.com/index.php

3,如果有可能,我不想拿舊網頁一個文件夾,如「老」網站」,使重定向這樣的:

redirect 301 /oldwebsite/oldfile.html https://www.newsite.com/index.php 

如果可能的話,我想刪除舊的頁面(完全),因爲它具有對虛擬主機的空間。

4,在舊網站上,我有太多的.html頁面,如material1.html,material2.html .... material32.html,我想重定向文件只有一個新的頁面。

也許這樣的事情,但我認爲這是不正確的:

redirect 301 /oldwebsite/materials/material1.html https://www.newsite.com/materials.php 
redirect 301 /oldwebsite/materials/material2.html https://www.newsite.com/materials.php 
redirect 301 /oldwebsite/materials/material3.html https://www.newsite.com/materials.php 

。 。 。

redirect 301 /oldwebsite/materials/material3223.html https://www.newsite.com/materials.php 

我沒有用的.htaccess太多的經驗,但是,作爲一個門外漢我想過這個問題,但它不工作:

redirect 301 http://www.mywebsite/contact.html https://www.mywebsite.com/contact.php 

然後是http://www.mywebsite/contact.html頁面剛刪除我在.htaccess文件中寫一行,因爲如果有人記得我的舊頁面並在瀏覽器上輸入它,那麼即使舊文件已經從存儲中刪除,也可以重定向新站點。

這是我的想法,但不幸的是,我還沒有完全實現它。

回答

0

將下面的代碼在老站點主目錄.htaccess

RewriteEngine On 
RewriteRule ^(.*)$ https://www.newsite.com/$1 [L,R=302] 

所以,現在你會重定向到舊網站的任何請求https新網站。

轉到新網站,並將以下代碼放在主目錄.htaccess文件中。

RewriteEngine On 
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.html[\s?/] [NC] 
RewriteRule^/%1%2 [R=302,L,NE] 
ErrorDocument 404 https://www.newsite.com/404.php 

舊的網站將被重定向到新的網站,並在搜索引擎優化的長期和排名,在你的情況下,排名會不會301永久重定向,除非有在舊網站的一些頁面無法在新的網站受到影響並且沒有規則來處理新站點中的錯誤文檔,爲什麼我添加了這一行ErrorDocument 404 https://www.newsite.com/404.php.html分機號碼,我把這條線路接住了任何.html並刪除它,所以如果用戶請求http://www.oldsite.com/somepage.html它將轉到https://www.newsite.com/somepage,如果有somepage.php好的,否則會被認爲是錯誤,並進入錯誤頁面「404.php」。

測試的代碼,如果每一個東西做工精細改變這條線在舊網站.htaccess

RewriteRule ^(.*)$ https://www.newsite.com/$1 [L,R=302] 

與此:

RewriteRule ^(.*)$ https://www.newsite.com/$1 [L,R=301] 

現在整個舊址將被永久定向到新的站點。

0

感謝您的回答! 在現在我有我的網站,如:http://www.mywebsite.com 它有舊的設計,html的網頁等

到新創建的.PHP新網站將仍然保持在這一領域僅刪除舊文件,並將其重定向到文件並從http切換到https,但該站點的名稱和可用性將保持爲https://www.mywebsite.com。 因此,我只有一個htaccess文件,我只需將舊的html文件重定向到php文件,如果可能的話刪除這些舊的html文件以及如果有人正在尋找我的網站,然後重定向到一個新的php文件。

如果我理解你的答案,這將是一個解決方案,如果我想將舊域的.html頁面重定向到全新的域名的.php頁面,這被稱爲http而不是https。對我而言,這個域名將被留下,但我想徹底刪除並將舊的.html網站更改爲新的.php網站。

0

與此同時,我試圖解決它,下面的解決方案工作,但我不知道它是否正確。

這是目前我的.htaccess文件的內容:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

RewriteCond %{HTTPS} off 
# First rewrite to HTTPS: 
# Don't put www. here. If it is already there it will be included, if not 
# the subsequent rule will catch it. 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
# Now, rewrite any request to the wrong domain to use www. 
# [NC] is a case-insensitive match 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

ErrorDocument 404 /error.php 

redirect 301 /oldsite_1.html https://www.mywebsite.com/contact.php 
redirect 301 /oldsite_2.html https://www.mywebsite.com/index.php 
. 
. 
. 
在現在對我的存儲包含舊.html文件和新的PHP文件,也

左右。 它適用於如果我正在尋找舊網站去http://www.mywebsite.com/oldsite_1.html這將重定向到https://www.mywebsite.com/contact.php。如果我從存儲中刪除oldsite_1.html文件(這將是不保留舊文件的最終目標),這也適用。

這是一個很好的解決方案嗎? 在谷歌搜索過程中,我的網站不會丟失舊的位置(即使我刪除舊文件)?