使用UrlRewriteFilter让Tomcat返回从http到https的301重定向

使用UrlRewriteFilter让Tomcat返回从http到https的301重定向,https,http-status-code-301,http-status-code-302,tuckey-urlrewrite-filter,Https,Http Status Code 301,Http Status Code 302,Tuckey Urlrewrite Filter,我想知道是否有人成功地使用了URLEwriteFilter 可从执行301永久重定向 ApacheTomcat中的http到https,但我似乎进展不快。 许多人问了同样的问题,但没有人回答 如果我问错了地方,也许有人会好心地把我“重定向”到正确的地方。 如果不可能的话,也许有人会这么说 多谢各位 apache-tomcat-7.0.42 jdk1.8.0_77 CentOS Linux 7.2.1511 urlrewritefilter-4.0.3.jar t

我想知道是否有人成功地使用了URLEwriteFilter 可从执行301永久重定向 ApacheTomcat中的http到https,但我似乎进展不快。 许多人问了同样的问题,但没有人回答 如果我问错了地方,也许有人会好心地把我“重定向”到正确的地方。 如果不可能的话,也许有人会这么说

多谢各位

    apache-tomcat-7.0.42
    jdk1.8.0_77
    CentOS Linux 7.2.1511
    urlrewritefilter-4.0.3.jar
tomcat文档推荐的“标准”配置如下

    web.xml

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Secure URLs</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

    server.xml

    <Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="443" />

    <Connector port="443" maxThreads="150" scheme="https" secure="true"
           SSLEnabled="true" keystoreFile="/opt/keys/tomcat.keystore" 
           keystorePass="*********" clientAuth="false" keyAlias="tomcat" sslProtocol="TLS" />
然而,这对于谷歌来说是不可接受的,因为谷歌更喜欢301永久服务

是否可以使用URLEwriteFilter来实现此目的

即使我使用to type=“permanent redirect”,以下规则仍会导致302 其他一切都一样

    <rule>
       <name>seo redirect</name>
       <condition name="host" operator="notequal">^www_example_com</condition>
       <condition name="host" operator="notequal">^localhost</condition>
       <from>^/(.*)</from>
       <to type="permanent-redirect" last="true">https://www_example_com/$1</to>
    </rule>

搜索引擎优化重定向
^www\u example\u com
^本地主机
^/(.*)
https://www_example_com/$1
我尝试了各种不同的组合,但没有成功,可能是因为Tomcat在应用过滤器后重定向了

有没有人真的用这个来工作,这样我们就得到了301而不是302

多谢各位

    <rule>
       <name>seo redirect</name>
       <condition name="host" operator="notequal">^www_example_com</condition>
       <condition name="host" operator="notequal">^localhost</condition>
       <from>^/(.*)</from>
       <to type="permanent-redirect" last="true">https://www_example_com/$1</to>
    </rule>