Opened 16 years ago
Last modified 9 months ago
#9102 assigned defect (bug)
Inverse proxy breaks permalinks
Reported by: | Bernhard Reiter | Owned by: | |
---|---|---|---|
Milestone: | Future Release | Priority: | normal |
Severity: | normal | Version: | 2.7 |
Component: | Permalinks | Keywords: | has-patch needs-testing needs-unit-tests early needs-refresh |
Focuses: | Cc: |
Description
I have a WP installation at my university's webspace (on an apache server), say http://myuni.ac.at/mydir/wordpress/ , and an inverse proxy domain http://mydomain.at/ for it.
This means that any request to the latter, eg for http://mydomain.at/2009/02/12/inverse-proxy-trouble/ , is forwarded to http://myuni.ac.at/mydir/wordpress/ , which in turn means that the REQUEST_URI there becomes /mydir/wordpress/2009/02/inverse-proxy-trouble/ . My home variable is of course set to http://mydomain.at/ (siteurl is set to http://myuni.ac.at/mydir/wordpress/ -- otherwise I wouldn't be able to login to WP).
Unfortunately, when analyzing REQUEST_URI, wordpress chops off the home path, not the siteurl one. This may be okay for some purposes, but in the inverse proxy case, permalinks break. For a fix, I had to hack two wordpress core files, namely
wp-includes/classes.php
in function parse_request: change line 162 from
$home_path = parse_url(get_option('home'));
to
$home_path = parse_url(get_option('siteurl'));
and wp-includes/rewrite.php, in function get_pagenum_link, line 987, same modification.
This is a dirty hack, of course; so I wonder if in general, using the siteurl path is valid in any case where the home host differs from the siteurl host. If so, I suggest changing the affected files in such a manner.
Attachments (1)
Change History (9)
#3
@
16 years ago
- Keywords 2nd-opinion added
this might be a bit too big a change for a nearby release.
#4
@
16 years ago
- Keywords early added; 2nd-opinion removed
- Milestone changed from 2.8 to 2.9
no tests in 2 weeks, punting to 2.9
please be so kind to give the attached patch a try