Opened 3 years ago
Closed 3 years ago
#11723 closed defect (bug) (duplicate)
Search Results Paging Doesn't Work Using Wordpress as 404 Handler
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | General | Version: | 2.9.1 |
| Severity: | major | Keywords: | search pages, 404, lighttpd |
| Cc: |
Description
I'm running Wordpress on lighttpd, using server.error-handler-404 = "index.php", all the pretty permalinks work perfectly. However, when doing a search, i only get the first results page, that is mysite.com/?s=query works but mysite.com/page/2/?s=query doesn't (i get shown the home page saying it's on page two of it). Paging on categories, archives and tags works as expected too.
I believe this is a Wordpress error, as the variables are being correctly passed to the script. Strangely mysite.com/index.php/page/2/?s=query works as expected, i have tried exploring the code but i don't really know about the internals of the wordpress core.
Change History (5)
function wp_fix_lighttpd() { //checks if URI has parameter and sets globals
if (isset($_GET) && isset($_SERVER['QUERY_STRING'])) return;
$donga = explode('?', $_SERVER['REQUEST_URI'], 2);
if (count($donga) > 1) {
$_SERVER['QUERY_STRING'] = $donga[1];
parse_str($donga[1], $_GET);
$_REQUEST = array_merge( (array)$_GET, (array)$_REQUEST);
}
}
- Milestone changed from Unassigned to 3.0
- Resolution fixed deleted
- Status changed from closed to reopened
I'm glad you've fixed it for you. Now it needs to be handled for all lighttpd WordPress installs.
comment:5
miqrogroove — 3 years ago
- Milestone 3.0 deleted
- Resolution set to duplicate
- Status changed from reopened to closed
#10458 Code is slightly different, but does the same thing.

i have fixed it, wordpress doesn't look for query strings in the url... i made this function and added it to wp-settings.php and made it run right after wp_unregister_globals
function wp_fix_lighttpd() { checks if URI has parameter and sets globals
}