На моем веб-сервере работает 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/