URL含@符号时重定向至不同域名的实现方案咨询
实现@用户名形式的域名重定向方案
仅用.htaccess就能完全实现需求,不需要借助PHP工具。具体操作步骤如下:
- 确认Apache服务器已启用
mod_rewrite模块(多数主机默认开启,未开启可联系服务商或修改服务器配置) - 在
blog.com的根目录创建或编辑.htaccess文件,添加以下规则:
RewriteEngine On # 匹配@开头的路径,捕获用户名并重定向 RewriteRule ^@([^/]+)$ https://app.blog.com/profile/$1 [L,R=301]
规则说明:
RewriteEngine On:开启URL重写引擎^@([^/]+)$:正则匹配规则,^匹配路径开头,@匹配字面符号,([^/]+)捕获@后到第一个斜杠前的所有字符(即用户名),$匹配路径结尾https://app.blog.com/profile/$1:重定向目标地址,$1对应前面捕获的用户名内容[L,R=301]:L表示这是最后执行的规则,避免后续规则干扰;R=301表示永久重定向,利于搜索引擎优化。测试阶段可改为R=302临时重定向
额外注意事项:
- 确保
.htaccess文件权限设置为644,保证服务器可读取 - 若根目录已有其他重写规则,将此规则放在现有规则的最前面,避免冲突
- 若用户名包含下划线、点号等特殊字符,可将正则中的
[^/]+替换为[\w.]+
内容的提问来源于stack exchange,提问作者Adam S.
相关产品推荐
相关产品推荐

