You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lucee本地安装后无法读取.htaccess,导致SES URL失效

解决Windows本地Lucee不识别.htaccess的问题

核心原因:本地Lucee默认使用Tomcat作为Web服务器,而.htaccess是Apache的专属配置文件,Tomcat本身不支持解析它。以下是两种可行的解决方案:

方案一:使用Tomcat URL重写过滤器(无需额外安装服务器)

这是最简便的方式,通过Tuckey URLRewriteFilter实现类似Apache mod_rewrite的功能:

  1. 下载并部署URLRewriteFilter

    • 下载适配Tomcat 9.x的URLRewriteFilter jar包(Lucee 5.4.x配套的Tomcat版本为9.x),将其放入{Lucee安装目录}\tomcat\lib文件夹。
  2. 配置Tomcat启用过滤器
    打开{Lucee安装目录}\tomcat\conf\web.xml,在现有过滤器配置后添加以下代码:

    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
    
  3. 转换.htaccess规则为Tomcat兼容格式
    在你的网站根目录(mywebsite文件夹)下创建urlrewrite.xml文件,写入对应规则:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE urlrewrite
        PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "https://cdn.jsdelivr.net/gh/paultuckey/urlrewritefilter@4.0.3/src/main/resources/dtds/urlrewrite4.0.dtd">
    
    <urlrewrite>
        <rule>
            <from>^/mywebsite/([A-Za-z0-9-]+)/?$</from>
            <to type="forward">/mywebsite/index.cfm?do=$1</to>
            <set type="status">200</set>
        </rule>
    </urlrewrite>
    

    注意:规则中的/mywebsite对应你本地访问的路径前缀,若后续配置了虚拟主机可去掉该前缀。

  4. 重启Lucee服务
    重启Tomcat服务(可通过Lucee控制面板操作),之后访问http://127.0.0.1:8888/mywebsite/profiles即可正常跳转。

方案二:切换为Apache作为Web服务器(保留.htaccess)

如果你想继续使用.htaccess,需要将Lucee与Apache配合使用:

  1. 安装并配置Apache

    • 安装兼容的Apache版本,打开httpd.conf启用mod_rewrite模块:去掉#LoadModule rewrite_module modules/mod_rewrite.so前的注释。
    • 在Apache中配置虚拟主机,指向你的mywebsite目录,并确保允许.htaccess生效:
      <VirtualHost *:80>
          ServerName mywebsite.local
          DocumentRoot "C:\路径\到\mywebsite"
          <Directory "C:\路径\到\mywebsite">
              AllowOverride All
              Require all granted
          </Directory>
      </VirtualHost>
      
  2. 配置Lucee与Apache的连接器
    在Lucee安装目录中找到mod_cfml相关配置,或通过Lucee控制面板配置Apache连接器,让Apache将CFML请求转发给Lucee的Tomcat服务器。

  3. 修改本地hosts文件
    在C:\Windows\System32\drivers\etc\hosts中添加127.0.0.1 mywebsite.local,之后通过http://mywebsite.local/profiles访问即可。


内容的提问来源于stack exchange,提问作者Paolo Broccardo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:17:38