Link-Struktur

  • Hallo Community,


    vorab erst einmal, ich weiß, dass es schon mehrere Themen darüber gibt und auch Blog-Einträge, allerdings muss ich gestehen, komme ich mit diesen nicht wirklich weiter und wollte nach eurer Hilfe fragen :)


    Ich habe mein Forum auf einem frisch installierten Linux-Server (Debian8) mit NGINX installiert. Es funktioniert alles :rolleyes:


    Allerdings gefällt mir die Link-Struktur nicht wirklich. Beispiel: /forum/index.php?board-list/, /forum/index.php?members-list/,..
    Ich würde es gerne wie folgt aussehen lassen: /forum/BoardList/, /forum/MembersList/,..


    Derzeit war mein Erfolg leider nur, dass ich den Kompatibilitätsmodus für Links und die Link-Umschreibungen aktiviert habe.
    Anschließend sahen die Links wie folgt aus /forum/BoardList/, /forum/MembersList/,.. was ich auch wollte :)


    Jetzt ist mein Problem, dass ich einen 404 Not Found Fehler von NGINX bekomme und die Seite weiß ist ;)
    Mit den vorhandenen Blockeinträgen kam ich nicht wirklich zurecht, was ich nun in NGINX einstellen müsste :/


    Einen Error in der error.log von NGINX ist nicht vorhanden, in der access.log wird folgendes angegeben 111-111-11-111 - - [12/Jun/2016:17:05:08 +0200] "GET /forum/BoardList/ HTTP/1.1" 404 193 "https://domain.de/forum/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36"


    Kann mir da vielleicht jemand weiterhelfen, wie ich NGINX für mein vorhaben richtig konfigurieren muss? :)


  • Den Kompatibilitätsmodus brauchst du nicht, es sei denn du willst die alte WBB 4.0 Linkstruktur verwenden domain.tld/index.php/MemberList


    Mit diesem Code sollten deine WBB 4.1 funktionieren.


    Wenn du mehrere Endanwendungen installiert hast, musst du den Pfad der EA in der rewrite Zeile eintragen.
    Dazu einfach hinter wcf/ entsprechend den Pfad eintragen z.B. |blog/ für den Blog oder |wiki/ für das Lexikon usw.

  • Hey, Danke für deine Antwort.


    Meine Config sieht nun wie folgt aus


    Und der Kompatibilitätsmodus ist deaktiviert, nur die Link-Umschreibung ist aktiviert.


    Allerdings wird meine Website nun als Offline angezeigt :(


    Error bei NGINx ist folgender 2016/06/12 20:12:07 [crit] 5402#0: *1 connect() to unix:/run/php/php7.0-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 11.128.90.200, server: domain.de, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "domain.de"


    //Edit: Habe gerade selber gesehen, dass der Link falsch war und habe nun anstatt von fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_pass 'unix:/var/run/php5-fpm.sock'; hingeschrieben :)
    Jetzt funktioniert es, allerdings sehen die Links wie folgt aus /board-list/, funktioniert auch /BoardList/?

  • Ich denke nur in Verbindung mit dem Kompatibilitätsmodus und einem zusätzlichen SEO-Plugin.


    Alternativ könntest du die Controller umbenennen, wobei hier auch keine Großbuchstaben erlaubt sind.


    Quote


    Sie können die Controller umbenennen und diesen so eine neue Bezeichnung zuweisen, pro Zeile können Sie einen Alias definieren. Die Angabe muss im Format „realer-name=neuer-name“ erfolgen und darf aus Kompatibilitätsgründen nur aus den Kleinbuchstaben a-z, den Zahlen 0-9 sowie Bindestrichen bestehen.

  • htaccess

    Sry, aber htaccess und nginx ist die falsche baustelle ;)


    versuch das mal, im grunde muss im rewrite nur der delimiter nach dem index.php angepasst werden und für den php support wieder die path info eingefügt werden. Ungetestet, sollte aber im grunde so klappen^^

  • Hey @Morik, Danke für deine Antwort.
    Also wenn ich das richtig verstanden habe, aktiviere ich nur den Kompatibilitätsmodus und passe mein Config mit deinem Code an. Doch leider hat das nicht ganz das bewirkt was geplant ist (siehe Anhang) ;)
    Es wird zwar BoardList, etc. wie gewollt angezeigt, allerdings immer ein index.php davor und ich bleibe auf meinem Dashboard :/


  • füg mal noch die Zeile fastcgi_param PATH_INFO $fastcgi_path_info; in dem php locations block hinzu.
    Kann sein dass das in deinen params nicht gesetzt wird ;)

  • Juhhuu, es hat funktioniert :) Diese Zeile hat es zum laufen gebracht ;)


    Mein Config sieht nun wie folgt aus, wenn es jemanden interessiert ^^


    Grüße gehen an alle, die mir geholfen haben 8o

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!