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

.htaccess尾部斜杠规则导致Laravel邮箱验证失效如何添加例外?

解决方法

你只需要在现有的「非文件夹/非文件URL追加尾部斜杠」的重写规则组里,新增一条排除邮箱验证路径的条件即可,修改后的规则片段如下:

# Redirect To Trailing Slashes If Not A Folder Or A File...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(/$|\.)
# 新增以下规则排除邮箱验证路径
RewriteCond %{REQUEST_URI} !^/email/verify
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]

注意事项

  • 修改配置后必须清空浏览器缓存,301重定向属于永久重定向,会被浏览器长期缓存,未清空缓存时旧规则仍然会生效。
  • 如果后续有其他带签名的链接(比如密码重置、邀请链接等)出现相同失效问题,可以继续新增排除规则,例如要排除密码重置路径就添加一行:
    RewriteCond %{REQUEST_URI} !^/password/reset
    
  • 如果你站点的路径带语言前缀(比如/en/email/verify),可以把排除规则的路径匹配改成!/email/verify,去掉开头的^即可匹配所有包含该路径段的请求。

失效原因说明

Laravel的签名验证会把生成链接时的完整请求路径纳入校验逻辑,重写规则给路径追加了尾部斜杠后,实际请求路径和生成签名时的路径不一致,自然会触发验证失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:36:01