重写规则不适用于 apache2、lucee tomcat

问题描述

我已经为 ubuntu 上的虚拟主机配置了带有 lucee tomcat 和 apache2 的服务器。我启用了重写规则,我的虚拟主机如下。

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName example.com
    ServerAlias example.com www.example.com
    DocumentRoot /var/www/html/example.com/

    <Directory /var/www/html/example.com/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error_main_example.log
    CustomLog ${APACHE_LOG_DIR}/access_main_example.log combined
    DirectoryIndex index.cfm
</VirtualHost>

从 htaccess 文件重定向工作正常,但重写规则不起作用。这是我正在尝试的 htaccess 文件。

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteRule ^(.*)/abc/([0-9]+)$ /test-404.cfm [L]

以下是示例网址:

https://www.example.com/example.cfm/abc/2
https://www.example.com/example.cfm/abc/8
https://www.example.com/example.cfm/abc/15

它向我显示了 tomcat 404 错误

HTTP Status 404 – Not Found

Type Status Report

Message The requested resource [/example.cfm/abc/2] is not available

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Apache Tomcat/9.0.35

任何机构都可以帮助我解决这个问题。顺便说一下,站点是使用 AWS 上的经典负载均衡器配置的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)