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

域名重定向失效排查:blog.all-of-knb.pl跳转至kuroko-no-basuke.make4u.eu失败

问题:为何域名https://blog.all-of-knb.pl/重定向至https://kuroko-no-basuke.make4u.eu/无法生效?

用户当前配置的Apache重写规则如下:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.blog.all-of-knb\.pl$
RewriteRule ^/?$ "http\:\/\/kuroko-no-basuke\.make4u\.eu\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^.blog.all-of-knb\.pl$
RewriteRule ^/?$ "http\:\/\/kuroko-no-basuke\.make4u\.eu\/" [R=301,L]

问题分析与修复方案

1. 非www域名的正则匹配错误

第二个RewriteCond里的^.blog.all-of-knb\.pl$存在逻辑问题:

  • 正则表达式中,.代表任意单个字符,所以这个规则会匹配类似xblog.all-of-knb.pl的域名,但完全不会匹配你需要的blog.all-of-knb.pl(开头没有额外字符)。
  • 正确的非www域名匹配应该是^blog\.all-of-knb\.pl$(注意转义域名里的.,避免被当作正则通配符处理)。

2. 仅匹配根目录,无法覆盖全站路径

你的RewriteRule ^/?$ ...只匹配网站根目录(比如https://blog.all-of-knb.pl/),如果用户访问子路径(比如https://blog.all-of-knb.pl/posts/1),重定向完全不会触发。要实现全站重定向,应该把规则改成^(.*)$,并在目标URL后保留原路径:https://kuroko-no-basuke.make4u.eu/$1。

3. 冗余的转义与引号

规则里的"http\:\/\/..."完全可以简化——Apache的RewriteRule支持直接写https://,不需要转义斜杠,也不需要额外添加引号,冗余的格式反而可能导致解析异常。


修正后的完整规则

RewriteEngine On

# 匹配带www前缀的域名,全站重定向
RewriteCond %{HTTP_HOST} ^www\.blog\.all-of-knb\.pl$ [NC]
RewriteRule ^(.*)$ https://kuroko-no-basuke.make4u.eu/$1 [R=301,L]

# 匹配不带www的主域名,全站重定向
RewriteCond %{HTTP_HOST} ^blog\.all-of-knb\.pl$ [NC]
RewriteRule ^(.*)$ https://kuroko-no-basuke.make4u.eu/$1 [R=301,L]

额外提示

  • 添加[NC]标志可以忽略大小写匹配(比如兼容Www.Blog.All-Of-Knb.Pl这类大小写混合的请求),提升规则的兼容性。
  • 测试阶段建议先用R=302临时重定向,确认规则生效后再改回R=301永久重定向,避免浏览器缓存错误的重定向规则。
  • 务必确保你的Apache服务器已经启用了mod_rewrite模块,否则所有重写规则都不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:36:32