WordPress启用PHP文件下载遇阻:文件链接直接执行而非下载
解决WordPress媒体库中PHP文件直接执行而非下载的问题
问题根源在于服务器默认会解析执行PHP文件,这和你使用的上传插件及检查开关无关——上传检查只控制能否上传,不改变文件上传后的处理规则。以下是几种可行的解决方法:
修改服务器配置强制下载
在wp-content/uploads目录下新建或编辑.htaccess文件,添加以下规则,让服务器将该目录下的PHP文件当作二进制附件强制下载:<FilesMatch "\.(php)$"> ForceType application/octet-stream Header set Content-Disposition "attachment" </FilesMatch>注意:如果你的网站在uploads目录下有需要正常执行的PHP文件,建议更精确匹配你要提供下载的文件(比如改成
<Files "your-file.php">),避免影响其他功能。重命名文件后缀
将PHP文件重命名为xxx.php.txt后上传,用户下载后自行改回.php后缀即可。这种方法无需修改服务器配置,但需要告知用户后续操作。打包为压缩文件
把PHP文件打包成ZIP或RAR压缩包后上传,压缩文件默认会触发下载,用户解压后就能得到原始PHP文件。这是最安全且无需额外配置的方法,还能避免PHP文件被意外执行的风险。
内容的提问来源于stack exchange,提问作者j-menter
相关产品推荐
相关产品推荐

