.htaccess перенаправить на субдомен

Я привязываюсь к настройке сценария, если кто-то посещает website.com/blog/, они перенаправляются на blog.website.com.

Я использовал этот код в моем файле .htaccess для достижения другого перенаправления (от .net до .com) ранее:

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

Также возможно, что у меня есть файл ErrorDocument 404 в моем конфигурационном файле apache.

Чтобы решить мою проблему, я пробовал это:

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]

Этот код, однако, не работает. Мой документ ошибки все еще обрабатывает запрос (каталог/blog/не существует). Я попытался переместить этот новый код над ErrorDocument в файл conf apache, но произошло то же самое.

Это, без сомнения, синтаксическая ошибка, любая помощь будет принята с благодарностью:)

Ответ 1

Попробуйте добавить следующее в файл .htaccess в корневой каталог вашего сайта webiste.com.

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] 

Ответ 2

в файле .htaccess в корневом каталоге вашего сайта website.com

RewriteEngine on
RewriteBase / 

RedirectMatch 301 ^/blog/(.*)$ http://blog.website.com/$1