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

请求协助编写.htaccess规则:基于HTTP_REFERER跳转至指定语言页面

实现基于HTTP_REFERER的Apache重定向规则

没问题,我来帮你搞定这个.htaccess规则,同时会拆解每一部分的作用,方便你理解和调整。

首先,把下面这段代码放到你的站点根目录的.htaccess文件里(如果文件不存在,直接新建一个即可):

# 开启URL重写引擎
RewriteEngine On

# 匹配HTTP_REFERER为http://www.mysitea.com的请求
RewriteCond %{HTTP_REFERER} ^http://www\.mysitea\.com/?$ [NC]

# 将匹配到的请求重定向到mysiteb的法语专区
RewriteRule ^(.*)$ http://www.mysiteb.com/fr [R=302,L]

规则拆解说明:

  • RewriteEngine On:必须放在最开头,用来启用Apache的URL重写功能,没有这行后面的规则都不会生效。
  • RewriteCond %{HTTP_REFERER} ^http://www\.mysitea\.com/?$ [NC]:
    • %{HTTP_REFERER}:这是Apache提供的环境变量,用来获取请求的来源Referer地址。
    • ^http://www\.mysitea\.com/?$:正则表达式,精确匹配http://www.mysitea.com(包括末尾可能带的斜杠/),注意这里的.要转义成\.,因为正则里.代表任意字符。
    • [NC]:标记表示匹配时不区分大小写(比如用户Referer是大写的HTTP://WWW.MYSITEA.COM也能匹配到),如果不需要可以去掉。
  • RewriteRule ^(.*)$ http://www.mysiteb.com/fr [R=302,L]:
    • ^(.*)$:匹配当前请求的所有URL路径。
    • http://www.mysiteb.com/fr:目标重定向地址,也就是你要跳转的法语专区。
    • [R=302,L]:R=302表示临时重定向(如果需要永久重定向可以改成R=301),L表示这是最后一条规则,匹配后不再执行后续规则。

额外注意事项:

  • 确保你的主机支持.htaccess文件(大多数共享主机都支持,但VPS/独立服务器可能需要在Apache配置里开启AllowOverride All)。
  • HTTP_REFERER是可以被客户端修改或屏蔽的,所以不要把这个作为唯一的验证逻辑,用来做跳转引导是完全没问题的。
  • 如果需要匹配来自mysitea.com所有子页面的Referer(比如http://www.mysitea.com/page1.html),可以把正则改成^http://www\.mysitea\.com/(去掉末尾的?$)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:47:10