-1

如何检查RedirectMatch是否正常工作?是否可以将所有与RedirectMatch匹配的请求记录在单独的日志文件中?基本上,我试图将不包含购物车的 URL 重定向到其他域。

请在下面找到我的 apache 配置

<VirtualHost *:443>
    ServerName test-server.XYZ.com

    ## Logging
    LogLevel info
    CustomLog "/var/log/apache2/test-server.XYZ_https_access.log" combined
    ErrorLog "/var/log/apache2/test-server.XYZ_https_error.log"
    ServerSignature Off

    SSLEngine on
    SSLProtocol -All +TLSv1.2
    SSLCertificateFile /root/san/test-server.XYZ.cer
    SSLCertificateKeyFile /root/san/test-server.XYZ.key
    SSLCACertificateFile /root/san/test-server.chain.cer
    SSLVerifyClient require

    ## Proxy rules
    ProxyRequests Off
    ProxyPreserveHost On

    # Preserve server status root
    ProxyPass /server-status !

    ProxyPass /rest http://localhost:9000/rest
    ProxyPassReverse /rest http://localhost:9000/rest
    
    # Redirect url does not contain cart to https://shop.xyz.com
    RedirectMatch 301 ^/^((?!cart).)*$ https://shop.xyz.com/$1
    <LocationMatch "^/rest">
        SSLOptions +StdEnvVars
        SSLRequire %{SSL_CLIENT_S_DN_CN} !~ m#(^user$)#i
        SSLVerifyClient require
        SSLVerifyDepth 2
        RequestHeader unset Authorization
        RequestHeader set user_id %{SSL_CLIENT_S_DN_CN}s
    </LocationMatch>
</VirtualHost>

提前致谢。

4

0 回答 0