【问题标题】:Use RewriteRule conditionally based on wp.com is making the request根据 wp.com 有条件地使用 RewriteRule 正在发出请求
【发布时间】:2015-10-03 16:41:22
【问题描述】:

我正在使用以下内容来防止未经授权访问文件。 (这是一个 .htaccess 问题,但可能还需要熟悉 WP Jetpack)

重写规则 ^wp-content/uploads/archive/(.*)$ /wp-content/plugins/paid-memberships-pro/services/getfile.php [L]

它通过一个检查请求者是否具有访问权限的模块重定向对文件的请求。

问题是特定请求者 Wordpress Jetpack 被锁定,我想让他们进入以生成缩略图。

如果您熟悉 Wordpress Jetpack,就知道它会生成图像缩略图,例如 http://i0.wp.com/www.example.com/wp-content/uploads/archive/2015/10/SH3_2173.jpg

为了解决这个问题,我假设我需要两条信息:

  1. 如何识别 Jetpack 何时发出请求(也许它被识别为来自 wp.com 域?)
  2. 如何从上述 RewriteRule 中排除特定实体(例如 wp.com)

第 1 部分实际上是一个 WP Jetpack 问题,第 2 部分是一个 .htaccess 问题;所以不确定发布此内容的最佳位置,但我觉得将它们放在一起会有助于上下文。

【问题讨论】:

  • 不确定在此之前是否会有所帮助? RewriteCond %{HTTP_REFERER} !^http://(www\.)?wp\.com/ [NC]

标签: wordpress apache .htaccess mod-rewrite jetpack


【解决方案1】:

我用这个解决了:

重写引擎开启 RewriteBase / RewriteCond %{HTTP_USER_AGENT} !Photon.+ [NC] RewriteRule ^wp-content/uploads/(.*)$ /wp-content/plugins/paid-memberships-pro/services/getfile.php [L]

【讨论】:

    猜你喜欢
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    相关资源
    最近更新 更多