使用 .htaccess 将自定义 WordPress 上传文件夹重写为带有额外获取参数的 wp-load.php

问题描述 投票:0回答:0

我在 wp-uploads 中有一个自定义文件夹: wp-内容/上传/安全

htaccess 如下: wp-内容/上传/安全/.htaccess

媒体在 wp-content/uploads/secure 的子文件夹中组织

like wp-content/uploads/secure/{$user_id}/{$date}/(这是一个例子)

我将图像 src 输出为

我希望 htaccess 将目录图像重定向到 /wp-load.php/?get_secure_image=32985

文件:wp-content/uploads/secure/.htaccess

\# BEGIN block unauthentified uploads folder
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^(.*)$ wp-load.php?file=$1 [QSA,L]
\# END block unauthentified uploads folder

我不知道如何通过 htaccess 或其他参数将 get_secure_image GET 参数传递给 wp-load.php

然后我的想法是像这样对 init 执行操作:

add_action('init', function(){
    if(isset($_GET['get_secure_image'])){
        $attachment_id=absint($_GET['get_secure_image']);
        if(user_has_access($attachment_id)){
            $file=get_attached_file($attachment_id);
            readfile($file);
            exit;
        }
        exit('<img src="data:image/png;base64,FORBIDDEN_IMAGE_BASE64">');
    }
})

谢谢你的帮助。对不起我的法语英语。尽力了 如果你有关于高级 htaccess 的好文档/教程,我非常感兴趣

wordpress .htaccess redirect url-rewriting upload
© www.soinside.com 2019 - 2024. All rights reserved.