I'm running the specified version of Dokuwiki on Debian Linux with Nginx. I'm using the rewrite rules from the Nginx Wiki (http://wiki.nginx.org/Dokuwiki) and noticed, that everything but the search form works. After diving through the Code, in inc/template.php I changed line 672 from
print '<form action="'.wl().'" accept-charset="utf-8" class="search" id="dw__search" method="get"><div class="no">';
print '<form action="'.script().'" accept-charset="utf-8" class="search" id="dw__search" method="get"><div class="no">';
and now it works.
What is the value of $conf[userewrite] in your setup? Where are you directed to on submitting the search form?
The value is 1 (.htaccess) and I got redirected to / (the home URL).
Ok now I've found out what was going on and I'm an idiot. Some weeks before I re-located my blog and the wiki and had to edit Nginx' configuration files. I sed'ed through the vHost file for convenience and accidentally rewrote "index doku.php" to "index index.php". What this config now fucks up: if I enable URL rewriting now and some form has "/" as action defined, Nginx checks the rewrite rules, rewrites "/" to "/index.php", which redirects to "/doku.php" and drops all POST arguments. Goddammit, I was sniffing a lot and tried to locate the source of the HTTP 302 response and didn't think about the index value until I got right, that index.php redirects always to doku.php.
At the end everything works fine now, would someone please close this ticket, thanks =}