已打印二维码关联的.doc文件如何重定向到.docx?
.doc 转 .docx 重定向配置修复方案
你的重写规则无效的核心原因是:WordPress规则里的最后一条RewriteRule带了[L]标记,会让Apache处理完WordPress规则就停止执行后续规则,你把.doc转docx的规则放在了WordPress规则之后,自然不会被触发。
以下是修复后的完整.htaccess配置:
RewriteOptions inherit # 优先处理.doc转.docx的永久重定向 <IfModule mod_rewrite.c> RewriteEngine On # 仅当原.doc文件不存在,且对应路径的.docx文件存在时才跳转 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}.docx -f RewriteRule ^(.*)\.doc$ $1.docx [R=301,L] </IfModule> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress # php -- BEGIN cPanel-generated handler, do not edit # This domain inherits the “PHP” package. # php -- END cPanel-generated handler, do not edit
关键修改说明:
- 调整规则顺序:把.doc转docx的重定向规则移到WordPress规则之前,确保Apache优先处理这条规则,不会被WordPress的
[L]标记中断 - 增加存在性校验:添加
RewriteCond %{REQUEST_FILENAME}.docx -f条件,只有当对应的.docx文件真实存在时才执行跳转,避免用户访问不存在的.doc链接时跳转到无效的.docx地址 - 保留永久重定向:
[R=301]是永久重定向,会让搜索引擎更新索引,同时浏览器会缓存跳转规则,提升后续访问效率
测试注意事项:
如果之前的无效规则已经被浏览器缓存,测试时请使用浏览器隐私模式,或者手动清空浏览器缓存后再测试,避免缓存影响结果。
内容的提问来源于stack exchange,提问作者Tolga
相关产品推荐
相关产品推荐

