version=pmwiki-2.2.130 ordered=1 urlencoded=1 agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:78.0) Gecko/20100101 Firefox/78.0 author=punk charset=UTF-8 csum= ctime=1619702964 host=188.80.109.149 name=Pmwiki.Simpleurl rev=2 targets= text=Httpd%0a%0aOpenBSD http server.%0aInitial setup%0a%0aTo setup let's encript ...%0aDefault setup%0a%0a[@%0a# $OpenBSD: httpd.conf,v 1.20 2018/06/13 15:08:24 reyk Exp $%0a%0atypes {%0a include "/usr/share/misc/mime.types"%0a}%0a%0a#ext_addr="egress"%0aext_addr="0.0.0.0"%0a%0aserver "default" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a}%0a@]%0a%0aPmwiki%0a%0aReference for this solution is from ircnow, it was hard to get it working with requests containing query string and without. Solution was to comment a condition on pmwiki.php file in order to stop redirecting without disabling clean path config variable.%0a%0aHttpd configuration;%0a%0a[@%0aserver "wiki.leetio.dev" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a key "/etc/ssl/private/leetio.dev.key"%0a }%0a root "/htdocs/wiki"%0a directory index "/pmwiki.php"%0a%0a location "/" {%0a root "/htdocs/wiki/pmwiki.php"%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a location match "/pub/(.*)" {%0a request rewrite "/pub/%251"%0a }%0a location match "/cookbook/(.*)" {%0a request rewrite "/cookbook/%251"%0a }%0a location match "/uploads/(.*)" {%0a request rewrite "/uploads/%251"%0a }%0a%0a location match "/(.+)/(.+)" {%0a # check pmwiki.php ResolvePageName %0a # loop redirects without query string%0a # disable redirect condition solved %0a # problem%0a root "/htdocs/wiki"%0a request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a location match "/(.+)" {%0a root "/htdocs/wiki"%0a request rewrite "/pmwiki.php?n=%251?QUERY_STRING"%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a location "*.php*" {%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a}%0a@]%0a%0aFile pmwiki.php change;%0a%0a[@%0a## ResolvePageName "normalizes" a pagename based on the current%0a## settings of $DefaultPage and $PagePathFmt. It's normally used%0a## during initialization to fix up any missing or partial pagenames.%0afunction ResolvePageName($pagename) {%0a global $DefaultPage, $DefaultGroup, $DefaultName,%0a $GroupPattern, $NamePattern, $EnableFixedUrlRedirect;%0a SDV($DefaultPage, "$DefaultGroup.$DefaultName");%0a $pagename = preg_replace('!([./][^./]+)\\.html?$!', '$1', $pagename);%0a if ($pagename == '') return $DefaultPage;%0a $p = MakePageName($DefaultPage, $pagename);%0a if (!preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $p)) {%0a header('HTTP/1.1 404 Not Found');%0a Abort('$[?invalid page name]');%0a }%0a if (preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $pagename))%0a return $p;%0a //if (IsEnabled($EnableFixedUrlRedirect, 1)%0a // && $p && (PageExists($p) || preg_match('/[\\/.]/', $pagename)))%0a // { Redirect($p); exit(); }%0a return MakePageName($DefaultPage, "$pagename.$pagename");%0a}%0a@]%0a%0aCgit%0a%0a[@%0aserver "git.leetio.dev" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a key "/etc/ssl/private/leetio.dev.key"%0a }%0a root "/htdocs/wiki"%0a # don't serve static files from cgit CGI: cgit.css and cgit.png%0a location "/cgit.*" {%0a root "/cgit"%0a no fastcgi%0a }%0a root "/cgi-bin/cgit.cgi"%0a fastcgi socket "/run/slowcgi.sock"%0a}%0a@]%0a time=1619707587 author:1619707587=punk diff:1619707587:1619702964:= host:1619707587=188.80.109.149 author:1619702964=jrmu diff:1619702964:1619702964:=1,129d0%0a%3c Httpd%0a%3c %0a%3c OpenBSD http server.%0a%3c Initial setup%0a%3c %0a%3c To setup let's encript ...%0a%3c Default setup%0a%3c %0a%3c [@%0a%3c # $OpenBSD: httpd.conf,v 1.20 2018/06/13 15:08:24 reyk Exp $%0a%3c %0a%3c types {%0a%3c include "/usr/share/misc/mime.types"%0a%3c }%0a%3c %0a%3c #ext_addr="egress"%0a%3c ext_addr="0.0.0.0"%0a%3c %0a%3c server "default" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Pmwiki%0a%3c %0a%3c Reference for this solution is from ircnow, it was hard to get it working with requests containing query string and without. Solution was to comment a condition on pmwiki.php file in order to stop redirecting without disabling clean path config variable.%0a%3c %0a%3c Httpd configuration;%0a%3c %0a%3c [@%0a%3c server "wiki.leetio.dev" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a%3c key "/etc/ssl/private/leetio.dev.key"%0a%3c }%0a%3c root "/htdocs/wiki"%0a%3c directory index "/pmwiki.php"%0a%3c %0a%3c location "/" {%0a%3c root "/htdocs/wiki/pmwiki.php"%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c location match "/pub/(.*)" {%0a%3c request rewrite "/pub/%251"%0a%3c }%0a%3c location match "/cookbook/(.*)" {%0a%3c request rewrite "/cookbook/%251"%0a%3c }%0a%3c location match "/uploads/(.*)" {%0a%3c request rewrite "/uploads/%251"%0a%3c }%0a%3c %0a%3c location match "/(.+)/(.+)" {%0a%3c # check pmwiki.php ResolvePageName %0a%3c # loop redirects without query string%0a%3c # disable redirect condition solved %0a%3c # problem%0a%3c root "/htdocs/wiki"%0a%3c request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c location match "/(.+)" {%0a%3c root "/htdocs/wiki"%0a%3c request rewrite "/pmwiki.php?n=%251?QUERY_STRING"%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c location "*.php*" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c }%0a%3c @]%0a%3c %0a%3c File pmwiki.php change;%0a%3c %0a%3c [@%0a%3c ## ResolvePageName "normalizes" a pagename based on the current%0a%3c ## settings of $DefaultPage and $PagePathFmt. It's normally used%0a%3c ## during initialization to fix up any missing or partial pagenames.%0a%3c function ResolvePageName($pagename) {%0a%3c global $DefaultPage, $DefaultGroup, $DefaultName,%0a%3c $GroupPattern, $NamePattern, $EnableFixedUrlRedirect;%0a%3c SDV($DefaultPage, "$DefaultGroup.$DefaultName");%0a%3c $pagename = preg_replace('!([./][^./]+)\\.html?$!', '$1', $pagename);%0a%3c if ($pagename == '') return $DefaultPage;%0a%3c $p = MakePageName($DefaultPage, $pagename);%0a%3c if (!preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $p)) {%0a%3c header('HTTP/1.1 404 Not Found');%0a%3c Abort('$[?invalid page name]');%0a%3c }%0a%3c if (preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $pagename))%0a%3c return $p;%0a%3c //if (IsEnabled($EnableFixedUrlRedirect, 1)%0a%3c // && $p && (PageExists($p) || preg_match('/[\\/.]/', $pagename)))%0a%3c // { Redirect($p); exit(); }%0a%3c return MakePageName($DefaultPage, "$pagename.$pagename");%0a%3c }%0a%3c @]%0a%3c %0a%3c Cgit%0a%3c %0a%3c [@%0a%3c server "git.leetio.dev" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a%3c key "/etc/ssl/private/leetio.dev.key"%0a%3c }%0a%3c root "/htdocs/wiki"%0a%3c # don't serve static files from cgit CGI: cgit.css and cgit.png%0a%3c location "/cgit.*" {%0a%3c root "/cgit"%0a%3c no fastcgi%0a%3c }%0a%3c root "/cgi-bin/cgit.cgi"%0a%3c fastcgi socket "/run/slowcgi.sock"%0a%3c }%0a%3c @]%0a host:1619702964=198.251.81.119