Opened 9 years ago
Closed 9 years ago
#35531 closed defect (bug) (fixed)
`url_to_postid` can fail in some contexts due to `set_url_scheme`
Reported by: | batmoo | Owned by: | johnbillion |
---|---|---|---|
Milestone: | 4.5 | Priority: | normal |
Severity: | normal | Version: | 4.4 |
Component: | Rewrite Rules | Keywords: | has-patch has-unit-tests https |
Focuses: | multisite | Cc: |
Description
This is a follow-up to #34144.
The set_url_scheme
addition breaks the use of url_to_postid
when there is a mismatch between the current scheme and the scheme of the home_url
.
Example: In a multisite environment, I have two blogs: insecure.example.com and secure.example.com. Only secure.example.com has https
enabled and we force home_url
for insecure.example.com to always return an http
URL.
The following will fail if called from https://secure.example.com:
switch_to_blog( 2 ); // insecure.example.com $post_id = url_to_postid( 'http://insecure.example.com/2016/01/01/hello/' ); restore_current_blog();
This is because set_url_scheme
forces the permalink to have an https
scheme but the bit of code in url_to_postid
that strips the home_url()
form the URL will fail because of the scheme mismatch.
I think the better fix would be to make sure that the set_url_scheme
call matches the scheme of home_url
.
Attachments (1)
Change History (8)
#1
@
9 years ago
- Summary changed from `set_url_scheme` in `url_to_postid` can fail in some contexts to `url_to_postid` can fail in some contexts due to `set_url_scheme`
@swissspidy Can you take a look at this?