我的.htaccess中ads.txt的301重定向代码存在什么问题?
排查ads.txt 301重定向失效问题的步骤
先解决文件优先级冲突
根目录存在实际的空ads.txt文件时,Apache会优先返回这个物理文件,跳过.htaccess里的重定向规则。你需要把重定向规则放在所有WordPress默认规则之前(比如紧跟RewriteEngine On之后,# BEGIN WordPress注释之前),规则写法要精确匹配:RewriteEngine On RewriteRule ^ads\.txt$ https://config.playwire.com/dyn_ads/1025181/74787/ads.txt [R=301,L]注意把原URL的
//改成明确的https://,避免协议兼容问题,[L]标记确保匹配后停止后续规则执行。验证mod_rewrite模块状态
如果主机没启用Apache的mod_rewrite模块,所有Rewrite规则都不会生效。可以通过phpinfo()页面查看是否有mod_rewrite条目,或者直接联系主机商确认开启状态。检查.htaccess的有效性和权限
- 给.htaccess设置644权限,确保Apache服务器能读取该文件;
- 可以在.htaccess里加一行无效代码(比如
TestRule),如果网站出现500错误,说明.htaccess在生效;如果没有反应,大概率是主机禁用了.htaccess,或者目录的AllowOverride配置未开启(需要主机商调整httpd.conf)。
清空各类缓存
- 用浏览器无痕模式或Ctrl+F5强制刷新,避免本地缓存的旧内容干扰;
- 如果用了CDN服务,需要清空CDN缓存,或者临时暂停CDN测试重定向是否生效。
备选方案:替换为PHP跳转
如果.htaccess重定向始终无法生效,删除根目录的ads.txt,新建ads.php文件,内容如下:<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: https://config.playwire.com/dyn_ads/1025181/74787/ads.txt"); exit; ?>然后在.htaccess里添加规则:
RewriteRule ^ads\.txt$ ads.php [L]
内容的提问来源于stack exchange,提问作者Matt Jameson
相关产品推荐
相关产品推荐

