2012-02-17 21 views
10

jestem wiązana założyć scenariusz, jeśli ktoś odwiedza website.com/blog/ zostaje przekierowany do blog.website.com..htaccess przekierowanie do subdomeny

Kiedyś ten kod w moim pliku .htaccess, aby osiągnąć jakiś inny przekierowanie (z .net do .com) poprzednio:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC] 
RewriteRule (.*) http://www.website.com/$1 [R=301,L] 

mogą być również istotne, że mam ErrorDocument 404 w moim plik konfiguracyjny apache.

Aby rozwiązać mój mój problem to próbowałem:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC] 
RewriteRule (.*) http://www.website.com/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^(www.)?website(.com|.net)/blog/?$ [NC] 
RewriteRule (.*) http://blog.website.com/ [L] 

Kod ten jednak nie działa. Mój dokument błędu nadal obsługuje żądanie (katalog/blog/nie istnieje). Próbowałem przenieść ten nowy kod powyżej ErrorDocument w pliku conf apache, ale to samo wystąpiło.

To niewątpliwie syntaktyczną błąd, każda pomoc będzie bardzo mile widziane :)

Odpowiedz

6

spróbuj dodać następujący kod do pliku w katalogu głównym witryny webiste.com.htaccess.

RewriteEngine on 
RewriteBase/

#if not already blog.website.com 
RewriteCond %{HTTP_HOST} !^blog\.website\.com$ [NC] 
#if request is for blog/, go to blog.website.com 
RewriteRule ^blog/$ http://blog.website.com [L,NC,R=301] 
+1

To działało idealnie dzięki – user1216981

8

w pliku .htaccess w głównym katalogu website.com

RewriteEngine on 
RewriteBase/

RedirectMatch 301 ^/blog/(.*)$ http://blog.website.com/$1 
Powiązane problemy