[wp-trac] [WordPress Trac] #36201: Admin Pagination URLs Use Wrong Hostname
WordPress Trac
noreply at wordpress.org
Sun Jan 23 14:03:28 UTC 2022
#36201: Admin Pagination URLs Use Wrong Hostname
-------------------------------------------------+-------------------------
Reporter: grimmdude | Owner: (none)
Type: defect (bug) | Status: reopened
Priority: normal | Milestone: Future
| Release
Component: Administration | Version:
Severity: normal | Resolution:
Keywords: has-patch needs-testing dev- | Focuses:
feedback | administration
-------------------------------------------------+-------------------------
Comment (by timinaust):
I found setting HTTP_HOST caused other redirect issues. My workaround to
this - providing you have access to the proxy...
Set the proxy to add a header on requests being passed through with the
request host name, then add the following at the end of wp-config.php. It
corrects pagination/sorting for both normal and ajax admin calls.
Example is for apache proxy, nginx proxy should work exactly the same if
you add the same header.
{{{#!php
/**
* Filter to fix up admin URLs when running behind a reverse proxy.
* On the proxy, add a header to requests for X_ORIGINAL_HOST.
*
* On and apache proxy add the following RequestHeader line in the proxy
block.
* <Location ...>
* ProxyPass ....
* ProxyPassReverse ....
* ....
* RequestHeader set X-Original-Host "expr=%{HTTP_HOST}"
* ....
* </Location>
*/
function proxied_url_rewrite ($url,$scheme,$orig_scheme) {
if ($_SERVER["HTTP_X_ORIGINAL_HOST"] && ($scheme == "https" ||
$scheme == "http") && $_SERVER['HTTP_HOST'] !=
$_SERVER["HTTP_X_ORIGINAL_HOST"] )
$url = str_replace("://".$_SERVER['HTTP_HOST']."/",
"://".$_SERVER["HTTP_X_ORIGINAL_HOST"]."/",$url);
return $url;
};
if ( is_admin() && $_SERVER["HTTP_X_IS_REVERSE_PROXY"])
add_filter('set_url_scheme','proxied_url_rewrite',10,3);
}}}
You may also need to add in wp-config.php if you are proxying from https
-> http
{{{#!php
$_SERVER['HTTPS'] = 'on';
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/36201#comment:40>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list