wordpressなど、バックエンド側でサーバ変数のHTTP_HOSTを使用してURLを生成しているスクリプトがある場合、リバースプロキシの設定のProxyPreserveHostをOnにすることで、バックエンドのホスト名でURLが生成されるのを防ぐことができます。
ProxyPreserveHostは、バックエンドへのプロキシの要求に、クライアントがリクエストしたホスト名を伝播します。
http://httpd.apache.org/docs/2.4/ja/mod/mod_proxy.html#proxypreservehost
バックエンドで動作しているPHPなどのスクリプトは、URLを組み立てる際$_SERVER['HTTP_HOST']を使用します。
HTTP_HOSTには、[現在のリクエストに Host: ヘッダが もしあればその内容]が入っているので、バックエンドのスクリプトは、クライアントがリクエストしたホスト名(public.co.jp)からURLを組み立てます。
http://php.net/manual/ja/reserved.variables.server.php
ただし、この方法は、バックエンドのサーバが別の用途でも使用されている場合は、注意が必要です。
特に、HTTP_HOSTを単に自ホスト名として利用しているスクリプトがある場合は、プロキシすることで、意図しないURLを生成したりするかもしれません。
<VirtualHost public.co.jp:80>
ServerName public.co.jp
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log combined
# Reverse Proxy settings.
# Cookie's proxy settings.
ProxyPassReverseCookieDomain public.co.jp backend.co.jp
ProxyPassReverseCookiePath / /
# プロキシリクエストに、受け付けた Host HTTP ヘッダを使う.
# Using accepted Host HTTP header at proxy request.
# @see http://httpd.apache.org/docs/2.4/ja/mod/mod_proxy.html#proxypreservehost
ProxyPreserveHost On
#wordpress
ProxyPass /wp/ http://backend.co.jp/wp/
ProxyPassReverse /wp/ http://backend.co.jp/wp/
</VirtualHost>