Назад | Перейти на главную страницу

Перезапись URL-адресов с поддомена на домен в Apache

На моем веб-сервере работает Plesk, и часть структуры моего сайта выглядит так:

/
/httpdocs (domain root folder, URL: http://www.domain.com)
/subdomains
/subdomains/blog/httpdocs (blog root folder, URL: http://blog.domain.com)

У меня установлен WordPress в корневой папке домена, и WP настроен для отображения статической страницы при доступе www.domain.com и отображать блог при доступе www.domain.com/blog.

Однако я хочу перенаправить (используя mod_rewrite) все запросы от http://blog.domain.com/ к http://www.domain.com/blog/.

Несколько примеров:

Доступ http://blog.domain.com/archives должен получить доступ http://www.domain.com/blog/archives/ Доступ http://blog.domain.com/tag/abc должен получить доступ http://www.domain.com/blog/tag/abc/
Доступ http://blog.domain.com/some-post-title должен получить доступ http://www.domain.com/blog/some-post-title

Все это должно быть прозрачно для пользователя, нельзя менять адрес в адресной строке браузера. Другими словами, я хочу, чтобы URL-адрес был переписан, а не перенаправлен.

Возможно ли это с помощью mod_rewrite? Может ли кто-нибудь помочь мне с .htaccess? Все мои попытки сделать это провалились ...

Конечно, вы можете проксировать запросы от blog.example.com к example.com/blog. Ты можешь найти простые примеры для обратного прокси в документации для mod_proxy. Просто поместите директивы в .htaccess файл в корне документа blog.example.com или поместите их в соответствующие vhost.conf файл.

Но я действительно не вижу никаких преимуществ перед простым перенаправлением клиентов, которых можно достичь, просто поместив .htaccess файл в корень документа blog.example.com с содержанием:

RedirectPermanent / http://www.example.com/blog/