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

如何使用当前域名而非固定域名实现Rewrite重定向?

解决思路

你的写法无效是因为两个问题:

  1. %{HTTP_HOST}后面多了个多余的%,导致生成的URL格式错误(比如会变成example.com%/handle.php,浏览器无法识别)
  2. 缺少请求协议(http/https),浏览器会把这个路径当成相对路径处理,而非完整域名跳转

正确的复用写法(保持当前请求协议)

直接用%{REQUEST_SCHEME}获取当前请求的协议(http或https),搭配%{HTTP_HOST}拼接完整域名:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ %{REQUEST_SCHEME}://%{HTTP_HOST}/handle.php?c=$0 [R=302,L]

强制HTTPS的写法(如果需要统一用HTTPS跳转)

如果所有域名都要强制HTTPS,可以直接写死协议:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ https://%{HTTP_HOST}/handle.php?c=$0 [R=302,L]

额外注意

  • 确保服务器已经启用mod_rewrite模块
  • 这个规则可以放在.htaccess文件或者虚拟主机的配置块中,适配多域名复用场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:02:06