Rewrite Rules für das SimpleMachinesForum mit dem PrettyUrls-Plugin auf dem Webserver nginx

Dieser Artikel ist Teil einer Reihe zum Webserver nginx.
Schau dir auch die anderen Artikel an: Zum Leitartikel

Nach der Installation von nginx stellte ich mich der Herausforderung, alle meine Simplemachines-Foren auf Nginx umzuziehen. In einigen hatte ich das PrettyUrls-Plugin installiert, da es einerseits schöner und sprechender aussieht und andererseits durch die Suchmaschinen wohl besser akzeptiert wird. Diese wollte ich natürlich auch weiterhin nutzen. Ich fand zwar eine Seite, die schon Rewrite-Regeln anbot, jedoch waren das noch nicht ausreichend viele, da ich zusätzlich noch für alle Aktionen die schönen URLs aktiviert hatte.

Werbung


Meine finalen Regeln:

server {
        listen          80;
        server_name     forum.example.com *.forum.example.com;
        error_log       /var/log/nginx/forum.example.com.log warn;
        root            /var/www/forum.example.com/;
 
        location / {
                index           index.php;
 
                # Rules for: actions
                rewrite ^/(activate|admin|announce|ban|boardrecount|buddy|calendar|cleanperms)/?$ /index.php?pretty%3Baction=$1 last;
                rewrite ^/(collapse|convertentities|convertutf8|coppa|deletemsg|detailedversion|display|dlattach)/?$ /index.php?pretty%3Baction=$1 last;
                rewrite ^/(dumpdb|editpoll|editpoll2|featuresettings|featuresettings2|findmember|help|helpadmin)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(im|jsoption|jsmodify|lock|lockVoting|login|login2|logout)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(maintain|manageattachments|manageboards|managecalendar|managesearch|markasread|membergroups|mergetopics)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(mlist|modifycat|modifykarma|modlog|movetopic|movetopic2|news|notify)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(notifyboard|optimizetables|packageget|packages|permissions|pgdownload|pm|post)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(post2|postsettings|printpage|profile|profile2|quotefast|quickmod|quickmod2)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(recent|regcenter|register|register2|reminder|removetopic2|removeoldtopics2|removepoll)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(repairboards|reporttm|reports|requestmembers|search|search2|sendtopic|serversettings)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(serversettings2|smileys|smstats|spellcheck|splittopics|stats|sticky|theme)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(trackip|about:mozilla|about:unknown|unread|unreadreplies|viewErrorLog|viewmembers|viewprofile)/?$ ./index.php?pretty%3Baction=$1 last;
                rewrite ^/(verificationcode|vote|viewquery|who|\.xml)/?$ ./index.php?pretty%3Baction=$1 last;
 
                # Rules for: boards
                rewrite ^/([-_!~*'()$a-zA-Z0-9]+)/[0-9]?/?$ /index.php?pretty%3Bboard=$1.0 last;
                rewrite ^/([-_!~*'()$a-zA-Z0-9]+)/([0-9]*)/[0-9]?/?$ /index.php?pretty%3Bboard=$1.$2 last;
 
                # Rules for: topics
                rewrite ^/([-_!~*'()$a-zA-Z0-9]+)/([-_!~*'()$a-zA-Z0-9]+)/[0-9]?/?$ /index.php?pretty%3Bboard=$1%3Btopic=$2.0 last;
                rewrite ^/([-_!~*'()$a-zA-Z0-9]+)/([-_!~*'()$a-zA-Z0-9]+)/([0-9]*|msg[0-9]*|new)/[0-9]?/?$ /index.php?pretty%3Bboard=$2%3Btopic=$2.$3 last;
 
                # And the sitemap
                rewrite ^sitemap.xml$ /index.php?action=sitemap%3Bxml last;
        }
 
        location ~ \.php$ {
                fastcgi_pass    127.0.0.1:1234;
                include         /etc/nginx/fastcgi_params;
        }
}

Veröffentlicht von

Uli

IT-Nerd und Admin

Ein Gedanke zu „Rewrite Rules für das SimpleMachinesForum mit dem PrettyUrls-Plugin auf dem Webserver nginx“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.