2012-01-11 12 views
27

Mam domenę, której nie można już używać. Chcę przekierować wszystkie z http://www.old.com/ na http://www.new.com/, bez względu na stronę, na którą użytkownik próbował uzyskać dostęp na www.old.com.Przekierowuję cały ruch do katalogu głównego innej domeny

ten sposób:

RewriteEngine on 
Redirect 301/http://www.new.com/ 

jest w porządku do korzenia, ale inne strony byłoby to zrobić:

http://www.old.com/cms -> http://www.new.com/cms

natomiast chciałbym to, aby przejść do katalogu głównego, bez względu na to, co.

Odpowiedz

53

Od http://www.webconfs.com/how-to-redirect-a-webpage.php Powiedziałbym, można użyć następującej konfiguracji

Nie przekierować podfolderów/plików (jak chcesz): www.example.com/demo/ -> www.newexampledomain.com

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

przekierować do podfolderów/plików: www.example.com/demo/ -> www.newexampledomain.com/demo/

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

A co virtualhost? Jeśli obie domeny wskazują na ten sam serwer, jaki jest najlepszy wybór? Domyślna powinna być nowa plus użycie aliasu dla starego tak jak w tej odpowiedzi https://stackoverflow.com/a/16011435/4458531? – NineCattoRules

+0

To nadal przekazuje zmienne zapytania. Dodaj singiel? do końca, aby zastąpić zapytanie nicością. – Exit

13

Umieść ten kod w swoim ROOT .htaccess na www.old.com

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC] 
RewriteRule^http://www.new.com/ [R=301,L] 

Ta reguła będzie zewnętrznie przekierować wszystkie www.old.com/* do www.new.com/

+1

Dzięki. To było rozwiązanie, które zadziałało, odkąd hostuję wiele domen na tym samym katalogu głównym. – TheDarkIn1978

Powiązane problemy