WordPress页面重复4次输出wp-content/.htaccess内容问题求助
解决wp-content/.htaccess内容在页面头部重复输出的思路
检查.htaccess文件语法问题
你提供的.htaccess内容里用了"这种HTML转义字符,正常.htaccess文件应该使用普通双引号"。如果文件实际存储的是转义后的字符,Apache解析时会出错,直接把规则内容当成文本输出到页面。先把"替换成"试试。排查W3 Total Cache的配置问题
这款缓存插件的模块容易因配置错误触发异常:- 临时禁用W3 Total Cache,看问题是否消失。如果消失,逐个开启它的页面缓存、浏览器缓存、代码压缩等模块,定位具体是哪个模块导致的。
- 检查插件的「自定义.htaccess」设置项,有没有错误引用了wp-content/.htaccess的内容。
- 清空所有缓存(包括页面缓存、浏览器本地缓存)后再测试。
检查DIVI主题的自定义代码
DIVI的自定义功能可能误输出内容:- 临时切换到WordPress默认主题(比如Twenty Twenty-Four),如果问题消失,说明是DIVI主题的问题。
- 查看DIVI主题选项里的「集成」-「头部代码」区域,有没有错误插入的内容;再检查子主题的
functions.php文件,有没有用file_get_contents读取.htaccess后直接输出的代码。
测试EWWW Image Optimizer的影响
虽然这款插件主打图片优化,但也可能因为权限或钩子调用错误触发问题。暂时禁用它,看问题是否消失。检查服务器配置
- 确认Apache配置中,wp-content目录的
AllowOverride设置为All或FileInfo,确保Apache能正确解析.htaccess规则,而不是把它当作静态文件输出。 - 开启PHP错误日志,查看是否有相关警告或错误信息,可能是某个PHP脚本错误输出了.htaccess内容。
- 确认Apache配置中,wp-content目录的
修正后的wp-content/.htaccess参考代码:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] </IfModule> <FilesMatch ".*\.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|suspected)$"> Order Allow,Deny Deny from all </FilesMatch> <FilesMatch "^(update.php|themes.php|dimensiones.php|duotones.php|spacings.php|wp-config-sample.php)$"> Order Allow,Deny Allow from all </FilesMatch>
内容的提问来源于stack exchange,提问作者Björn
相关产品推荐
相关产品推荐

