Skocz do zawartości
Zaloguj się, aby obserwować  
HTC

Przekierowanie domeny na podstronę innej domeny

Polecane posty

Jak najlepiej wykonać przekierowanie starej domeny na podstronę nowej domeny?Załóżmy że chcę przekierować staradomena.pl na nowadomena.pl/podstrona.html

 

Znalazłem w sieci kilka reguł i nie wiem która jest najlepsza w tym przypadku?

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.domena1.com(.*) [NC]

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

lub

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?domena-przekierowywana\.pl [NC]

RewriteRule (.*) http://domena-docelowa.pl/$1 [R=301,L]

 

lub

 

RewriteEngine On

RewriteRule ^(.*)$ http://www.nowadomena.pl/$1 [R=301,L]

 

W tych przykadach są strony główne rozumiem że za ukośnikiem mogę dodać podstonę?

Edytowano przez HTC (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
(...) W tych przykadach są strony główne rozumiem że za ukośnikiem mogę dodać podstonę? (...)

 

Nie. Każdy z tych przykładów dokonuje przekierowania w następujący sposób:

staradomena.pl/ -> nowadomena.pl/
staradomena.pl/cokolwiek -> nowadomena.pl/cokolwiek
staradomena.pl/cokolwiek2 -> nowadomena.pl/cokolwiek2

Czyli zmienia się tylko domena, ale cała pozostała część adresu zostaje zachowana tak jak jest. Ten $1 na końcu nowego adresu odwołuje się do tego starego.

 

Jeśli dobrze Cię rozumiem, to chcesz przekierować cały ruch ze swojej starej domeny (ze wszystkich jej stron z uwzględnieniem ruchu z-www i bez-www) na jedną i tę samą stronę w nowej domenie - czy tak? Jeśli tak to sugeruję:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?staradomena\.pl$ [NC]
RewriteRule ^(.*)$ http://nowadomena.pl/podstrona.html? [R=301,L]

 

 

-----------------------------

* Linijka z RewriteBase wymagana jest na hostach wirtualnych, w przeciwnym razie można pominąć.

** W przypadku, o którym wspominał już samu, że staradomena.pl jest w osobnym katalogu, możesz (choć nie musisz) pominąć zupełnie linijkę z RewriteCond, lecz w przypadku gdy więcej domen jest w tym samym katalogu, musi ona być.

*** Znak zapytania na samym końcu adresu docelowego sprawi, że ewentualne QUERY_STRING (wszystko co w adresach internetowych jest po znaku zapytania) nie będzie przekazane do nowego adresu. Jeśli chcesz zachować QUERY_STRING, usuń ten znak zapytania.

 

-----------------------------

I uwaga na marginesie: wprawdzie to działa i tak, ale pierwszy przytoczony przykład uczy złych zwyczajów w korzystaniu z wyrażeń regularnych.

Edytowano przez Piotr GRD (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie. Każdy z tych przykładów dokonuje przekierowania w następujący sposób:

staradomena.pl/ -> nowadomena.pl/
staradomena.pl/cokolwiek -> nowadomena.pl/cokolwiek
staradomena.pl/cokolwiek2 -> nowadomena.pl/cokolwiek2

Czyli zmienia się tylko domena, ale cała pozostała część adresu zostaje zachowana tak jak jest. Ten $1 na końcu nowego adresu odwołuje się do tego starego.

 

Jeśli dobrze Cię rozumiem, to chcesz przekierować cały ruch ze swojej starej domeny (ze wszystkich jej stron z uwzględnieniem ruchu z-www i bez-www) na jedną i tę samą stronę w nowej domenie - czy tak? Jeśli tak to sugeruję:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?staradomena\.pl$ [NC]
RewriteRule ^(.*)$ http://nowadomena.pl/podstrona.html? [R=301,L]

 

 

-----------------------------

* Linijka z RewriteBase wymagana jest na hostach wirtualnych, w przeciwnym razie można pominąć.

** W przypadku, o którym wspominał już samu, że staradomena.pl jest w osobnym katalogu, możesz (choć nie musisz) pominąć zupełnie linijkę z RewriteCond, lecz w przypadku gdy więcej domen jest w tym samym katalogu, musi ona być.

*** Znak zapytania na samym końcu adresu docelowego sprawi, że ewentualne QUERY_STRING (wszystko co w adresach internetowych jest po znaku zapytania) nie będzie przekazane do nowego adresu. Jeśli chcesz zachować QUERY_STRING, usuń ten znak zapytania.

 

-----------------------------

I uwaga na marginesie: wprawdzie to działa i tak, ale pierwszy przytoczony przykład uczy złych zwyczajów w korzystaniu z wyrażeń regularnych.

 

Tak,chcę po prostu przenieść cały serwis z starej domeny na podstronę nowej domeny,tak żeby stara przeniosła moc i pozycje na nową.

Zrobiłem jak podałeś i działa,teraz poczekam jak zareaguje google.

Dziękuje i pozdrawiam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To może zająć od dni poprzez tygodnie do miesięcy, zależy jak popularna witryna to była, jak często wyszukiwarki ją odwiedzały, jak wiele stron masz zindeksowanych.

 

 

 

@ Meyer

Zważywszy na fakt, że powyższe pytanie znajduje się w dziale "SEO, pozycjonowanie i optymalizacja", Twoja propozycja jest niestety mocno nietrafiona. Pominąwszy nawet fakt kłopotu z wdrożeniem zmian na wszystkich (nie wiadomo jak wielu i w jaki sposób skonstruowanych) stronach dotychczasowego serwisu (w praktyce i tak .htaccess by się trzeba wesprzeć i tak, by do jednego pliku ze wskazaną zawartością wszystkie adresy skierować), gdybyśmy tylko o zwykłe przeglądarki internetowe dbali, a zapomnieli o wyszukiwarkach i innych botach.

Edytowano przez Piotr GRD (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×