Прежде всего, вы должны заменить http://blog.example.com/whatever_or_empty
на http://www.example.com/blog/whatever_or_empty
в ваших HTML-ссылках.
blog.example.com
, хотя поддомен, это другой URL.т.е. когда RewriteRule выполняет перезапись на другой URL, произойдет внешнее перенаправление.Это будет отражено в браузере.Быть временным redirect(302(the default))
или permanent redirect(301)
.
Таким образом, использование перезаписи URL для изменения ссылки http://blog.example.com/
на http://www.example.com/blog/
бесполезно.
Хотя вы можете достичьэто с использованием Apache Module mod_proxy .
Модули прокси-сервера Apache имеют следующие параметры:
- mod_proxy: основной модуль занимается инфраструктурой и настройкой прокси-сервера и управляет запросом прокси.
- mod_proxy_http:Это обрабатывает выборку документов с HTTP и HTTPS.
- mod_proxy_ftp: Это обрабатывает выборку документов с FTP.
- mod_proxy_connect: Это обрабатывает метод CONNECT для безопасного (SSL) туннелирования.
- mod_proxy_ajp: это обрабатывает протокол AJP для Tomcat и аналогичных внутренних серверов.
- mod_proxy_balancer реализует кластеризацию и распределение нагрузки по нескольким внутренним серверам.
- mod_cache, mod_disk_cache, mod_mem_cache: они связаны с управлением кешем документов,Для включения кэширования требуется mod_cache и один или оба из disk_cache и mem_cache.
- mod_proxy_html: переписывает HTML-ссылки в адресное пространство прокси.
- mod_xml2enc: поддерживает интернационализацию (i18n) от имени mod_proxy_htmlи другие модули фильтрации разметки.пробел.
- mod_headers: изменяет заголовки HTTP-запросов и ответов.
- mod_deflate: согласовывает сжатие с клиентами и бэкэндами.
Вам нужнопо крайней мере mod_proxy
и mod_proxy_http
модули включены для работы прокси:
у вас должны быть строки, подобные этим в файле conf
вашего апача:
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so
используйте этов вашем Virtualhost
из http://www.example.com
ProxyPass /blog http://blog.example.com
ProxyPassReverse /blog http://blog.example.com
ProxyRequests On
ProxyVia On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
Определения:
Вы также можете использовать кэш с mod_cache
: mod_cache
.
Подробнее о кэшировании см. Здесь: mod_cache Документы Apache .
Также отключите индексы просмотров индекса, установив этот параметр.:
options -indexes
Добавить index
в папку blog
.