|
3 | 3 | /** |
4 | 4 | * Plugin Name: Proxy-Aware HTTPS Fix |
5 | 5 | * Description: Enforces HTTPS detection and correct REST API resolution behind reverse proxies. |
6 | | - * Version: 1.3 |
| 6 | + * Version: 1.4 |
7 | 7 | * Author: BitCryptic |
8 | 8 | */ |
9 | 9 |
|
10 | | -if ( defined( 'WP_CLI' ) && WP_CLI ) { |
11 | | - return; |
12 | | -} |
| 10 | +if (defined('WP_CLI') && WP_CLI) return; |
13 | 11 |
|
14 | | -add_action( |
15 | | - 'plugins_loaded', |
16 | | - function () { |
17 | | - $host = $_SERVER['HTTP_HOST'] ?? ''; |
18 | | - $proto = $_SERVER['HTTP_X_FORWARDED_PROTO'] ?? ''; |
| 12 | +add_action('plugins_loaded', function() { |
| 13 | + $proto = $_SERVER['HTTP_X_FORWARDED_PROTO'] ?? ''; |
19 | 14 |
|
20 | | - if ( |
21 | | - ( ! isset( $_SERVER['HTTPS'] ) || $_SERVER['HTTPS'] !== 'on' ) && |
22 | | - ( $proto === 'https' || strpos( $host, '.' ) !== false ) |
23 | | - ) { |
24 | | - $_SERVER['HTTPS'] = 'on'; |
25 | | - } |
26 | | - } |
27 | | -); |
| 15 | + if ( |
| 16 | + (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') && |
| 17 | + $proto === 'https' |
| 18 | + ) { |
| 19 | + $_SERVER['HTTPS'] = 'on'; |
| 20 | + } |
| 21 | +}); |
28 | 22 |
|
29 | | -add_filter( |
30 | | - 'home_url', |
31 | | - function ( $url ) { |
32 | | - return str_starts_with( $url, 'http:' ) ? 'https:' . substr( $url, 5 ) : $url; |
33 | | - } |
34 | | -); |
| 23 | +add_filter('home_url', function($url) { |
| 24 | + if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') { |
| 25 | + return str_starts_with($url, 'http:') ? 'https:' . substr($url, 5) : $url; |
| 26 | + } |
| 27 | + return $url; |
| 28 | +}); |
35 | 29 |
|
36 | | -add_filter( |
37 | | - 'site_url', |
38 | | - function ( $url ) { |
39 | | - return str_starts_with( $url, 'http:' ) ? 'https:' . substr( $url, 5 ) : $url; |
40 | | - } |
41 | | -); |
| 30 | +add_filter('site_url', function($url) { |
| 31 | + if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') { |
| 32 | + return str_starts_with($url, 'http:') ? 'https:' . substr($url, 5) : $url; |
| 33 | + } |
| 34 | + return $url; |
| 35 | +}); |
42 | 36 |
|
43 | | -add_filter( |
44 | | - 'rank_math/rest_api_url', |
45 | | - function () { |
46 | | - return get_site_url( null, '/wp-json/' ); |
47 | | - } |
48 | | -); |
| 37 | +add_filter('rank_math/rest_api_url', function() { |
| 38 | + return get_site_url(null, '/wp-json/'); |
| 39 | +}); |
0 commit comments