Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache2将请求发送到路径,并将其所有子路径发送到另一个源_Apache_Tomcat7 - Fatal编程技术网

Apache2将请求发送到路径,并将其所有子路径发送到另一个源

Apache2将请求发送到路径,并将其所有子路径发送到另一个源,apache,tomcat7,Apache,Tomcat7,我有一台运行Apache2.2的服务器,其中安装了WordPress的一个实例 我还有一个tomcat7服务器,在端口8080上运行一个webapp 我希望将everyrequest发送到tomcat服务器,但是像:/blog、/blog/、/blog/2017/02/10/blog title here/,等等这样的博客 我目前设法将/blog放在正确的位置,但不是单个的帖子,它们总是放在tomcat7上,我不知道为什么 这是我的配置文件: <VirtualHost *:80>

我有一台运行Apache2.2的服务器,其中安装了WordPress的一个实例

我还有一个tomcat7服务器,在端口8080上运行一个webapp

我希望将everyrequest发送到tomcat服务器,但是像:/blog、/blog/、/blog/2017/02/10/blog title here/,等等这样的博客

我目前设法将/blog放在正确的位置,但不是单个的帖子,它们总是放在tomcat7上,我不知道为什么

这是我的配置文件:

<VirtualHost *:80>
    RequestHeader set X-Forwarded-Proto "http"

    AddDefaultCharset utf-8

    ServerAdmin contact@example.com
    ServerName server.example.com

    <Directory />
            Options FollowSymLinks
    </Directory>

    Alias "/blog" "/var/www/www.example.com"
    <Directory /var/www/www.example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>

    ProxyRequests Off
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>
    ProxyPreserveHost on
    ProxyPass "/blog" "!"
    ProxyPass "/" "http://localhost:8080/"
    ProxyPassReverse "/" "http://localhost:8080/"

    ErrorLog ${APACHE_LOG_DIR}/error.log

    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:443>
    RequestHeader set X-Forwarded-Proto "https"
    AddDefaultCharset utf-8
    ServerAdmin webmaster@example.com
    ServerName server.example.com

    <Directory />
      Options FollowSymLinks
    </Directory>

    Alias "/blog" "/var/www/www.example.com"
    <Directory /var/www/www.example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>

    ProxyRequests Off
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>
    ProxyPreserveHost on
    ProxyPass "/blog" "!"
    ProxyPass "/" "http://localhost:8080/"
    ProxyPassReverse "/" "http://localhost:8080/"

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/wildcard.example.com.crt
    SSLCertificateKeyFile /etc/apache2/ssl/wildcard.example.com.key
    SSLCertificateChainFile /etc/apache2/ssl/rapidssl_intermediate.crt
</VirtualHost>
在这里,我以/blog开始对所有内容进行别名处理,并将其发送到wordpress所在的位置,而不是代理它。代理从/到tomcat的所有内容

我唯一搞不明白为什么它不起作用的是请求/blog/不起作用

我尝试过ProxyPassMatch,但AliasMatch无法完成。 谢谢你的帮助

    Alias "/blog" "/var/www/www.example.com"
    (...)
    ProxyPass "/blog" "!"
    ProxyPass "/" "http://localhost:8080/"