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

开启PrestaShop友好URL后,如何解决账户激活链接无法访问问题?

解决PrestaShop友好URL下激活账户链接404问题

你的问题根源很明确——.htaccess里的那条重写规则会拦截所有末尾带数字的URL,把数字部分直接去掉重定向,而激活账户的链接刚好包含用户ID这类数字(比如/module/activationbymail/123),直接被这条规则拦截后就跳转到了不存在的页面。

具体修复步骤:

你需要调整RewriteCond的匹配逻辑,让激活模块的完整路径(包括带数字的子路径)都跳过这条重写规则,修改后的.htaccess代码如下:

<FilesMatch "\.tpl$">
    # Apache 2.2
    <IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
        # 修改规则:匹配以/module/activationbymail/开头的URL,跳过重写
        RewriteCond %{REQUEST_URI} !^/module/activationbymail/ [NC]
        RewriteRule ^(.*)/[0-9]+/?$ /$1/? [L,R=301]
    </IfModule>
    # Apache 2.4
    <IfModule mod_authz_core.c>
        Require all denied
        # 同步修改这里的匹配规则
        RewriteCond %{REQUEST_URI} !^/module/activationbymail/ [NC]
        RewriteRule ^(.*)/[0-9]+/?$ /$1/? [L,R=301]
    </IfModule>
</FilesMatch>

关键修改说明:

  • 把原来的!module/activationbymail改成!^/module/activationbymail/,新增的^代表匹配路径开头,末尾的/确保包含数字的子路径(比如/module/activationbymail/456)也能被排除在外。
  • [NC]标记保留,用来忽略路径的大小写差异,避免因大小写问题导致规则失效。

修改后保存.htaccess,再测试激活账户的链接,应该就能正常访问了,同时其他友好URL的功能也不会受到影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:35:02