不带www时站点重定向至index.php,SSL验证文件无法访问
解决SSL验证文件仅带www可访问的问题
我来帮你排查这个头疼的SSL验证问题——你已经上传了验证文件,甚至清空了.htaccess,但不带www的域名还是会把验证请求重定向到WordPress首页,这大概率不是.htaccess的锅,而是服务器层面、DNS或者站点配置的问题,给你几个具体的排查和解决方向:
1. 先检查DNS解析记录
- 确认不带
www的主域名(vanloonautobedrijf.nl)和带www的子域名指向的是同一个服务器IP。如果指向不同服务器,那验证文件只在带www的服务器上,自然访问不到。 - 检查是否有CNAME记录或隐性转发规则导致主域名被定向到其他地方,有些DNS服务商默认会给主域名设置这类规则,会直接干扰验证请求。
2. 排查服务器虚拟主机配置(Apache/Nginx)
如果是Apache服务器:
- 确保主域名(不带www)的虚拟主机配置文件里,没有强制重定向到带www的规则,也没有把所有请求直接转发到WordPress
index.php的规则。 - 验证虚拟主机的
DocumentRoot是否和带www的虚拟主机指向同一个网站根目录,这样验证文件的路径才一致。 - 可以在主域名的虚拟主机配置里,添加一条优先处理
.well-known目录的规则,避免被WordPress接管:
<Directory "/path/to/your/site/.well-known"> AllowOverride All Require all granted </Directory> RewriteEngine On # 先让.well-known的请求直接访问文件,不进入WordPress RewriteRule ^\.well-known/ - [L] # 其他请求再交给WordPress(如果需要的话) RewriteRule . /index.php [L]
如果是Nginx服务器:
- 检查主域名的server块,有没有提前把所有请求重定向到WordPress,或者重定向到带www的域名。
- 同样,添加优先处理
.well-known的规则,放在WordPress的转发规则之前:
location ^~ /.well-known/ { allow all; # 指向验证文件所在的实际网站根路径 root /path/to/your/site; } location / { try_files $uri $uri/ /index.php?$args; }
3. 检查WordPress站点本身的设置
- 登录WordPress后台,进入设置→常规,查看「WordPress地址(URL)」和「站点地址(URL)」是否设置成了带
www的域名。如果是的话,WordPress会自动把不带www的所有请求重定向到设置的URL,包括验证文件的请求。 - 你可以临时把这两个地址改成不带www的域名,完成SSL验证后再改回来;或者用上面服务器配置的方法,让
.well-known目录的请求绕过WordPress的重定向。
4. 排查CDN或缓存服务
- 如果你的网站用了CDN(比如Cloudflare),可能CDN的规则里有强制重定向到带www的设置,或者缓存了旧的重定向规则。可以临时暂停CDN,或者在CDN的规则里添加例外,允许
.well-known目录的请求直接回源服务器。 - 清除服务器和浏览器的缓存,确保你测试的是最新的配置。
最后,测试的时候可以用curl命令查看请求的响应头,精准定位重定向的来源:
curl -v http://vanloonautobedrijf.nl/.well-known/pki-validation/3619BF0D6B387464A49478D183780BF0.txt
从响应头里能看到是哪个环节发起的重定向,帮你更快锁定问题。
内容的提问来源于stack exchange,提问作者Jari Rengeling
相关产品推荐
相关产品推荐

