web-dev-qa-db-ja.com

ProxyHTMLURLMapがApache2.4で機能しない

Ubuntu 14.04でApache2.4を使用しています。そして、私はmod_proxy_htmlを有効にしていますが、私のURLは新しいものに置き換えられていません。私がApache2.2で行ったのと同じことで、それは完全に機能していました。これは私の仮想ホストファイルです。

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/html/www.example.com
LogLevel error
CustomLog /var/log/Apache2/www.example.com_access.log combined
ErrorLog /var/log/Apache2/www.example.com_error.log

#Proxy and cookies settings
ProxyPreserveHost On
ProxyPassReverse / http://www.example.com/example/control/
ProxyPassReverse / https://www.example.com/example/control/
ProxyPassReverse / /example/control/
ProxyPassReverseCookiePath /example /

    <Proxy balancer://cluster>
        BalancerMember ajp://10.14.78.45:8009 route=node01 keepalive=On loadfactor=1 ping=10 ttl=600
        ProxySet timeout=60 stickysession=JSESSIONID nofailover=On
    </Proxy>

RewriteEngine On

#redirect non www domain to www domain
RewriteCond %{HTTP_Host} ^example.com$ [NC]
    RewriteRule ^(.*)$ http://www.example.com$1 [R=301,L]

#Website    
RewriteRule ^/;(.*)$ balancer://cluster/example/control/main;$1 [P,L]
RewriteRule ^/$ balancer://cluster/example/control/main [P,L]

SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyHTMLExtended Off
ProxyHTMLInterp On
ProxyHTMLDoctype XHTML Legacy
LogLevel debug

#Rewrite home page link
ProxyHTMLURLMap ^(.*)/example/control/main;(.*)$ $1/;$2 [R]
ProxyHTMLURLMap ^(.*)/example/control/main$ $1/ [R]

ここではProxyHTMLURLMapが機能していないと思います。何かが適切に構成されていない場合はお知らせください。

ありがとう

4
Vinay Saini

何時間もの研究の後、運が悪い簡単な解決策を得ました。

proxy_html.confファイルがありませんでした。このファイルをApache2.2から/ etc/Apache/mods-availableにコピーし、mods-enabledでこのファイルを指すリンクを作成しました。

vi /etc/Apache2/mods-available

これらの行を追加しました:

# Here's the declaration for W3C HTML 4.01 and XHTML 1.0

ProxyHTMLLinks  a       href
ProxyHTMLLinks  area        href
ProxyHTMLLinks  link        href
ProxyHTMLLinks  img     src longdesc usemap
ProxyHTMLLinks  object      classid codebase data usemap
ProxyHTMLLinks  q       cite
ProxyHTMLLinks  blockquote  cite
ProxyHTMLLinks  ins     cite
ProxyHTMLLinks  del     cite
ProxyHTMLLinks  form        action
ProxyHTMLLinks  input       src usemap
ProxyHTMLLinks  head        profile
ProxyHTMLLinks  base        href
ProxyHTMLLinks  script      src for

# To support scripting events (with ProxyHTMLExtended On),
# you'll need to declare them too.

ProxyHTMLEvents onclick ondblclick onmousedown onmouseup \
        onmouseover onmousemove onmouseout onkeypress \
        onkeydown onkeyup onfocus onblur onload \
        onunload onsubmit onreset onselect onchange

mods対応のリンクを作成する

ln -s /etc/Apache2/mods-available/proxy_html.conf /etc/Apache2/mods-enabled/

その後、完全に機能しました

9
Vinay Saini