.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