URL - Rewrite konfigurieren auf nginx/1.10.3

  • Hallo zusammen,


    ich habe ein Problem mit dem einrichten der suchmaschinenfreundlichen URL (URL-Rewrite) auf einem Nginx-Server /1.10.3 - Die Anpassungen müssen wohl in der nginx.conf gemacht werden, jedoch hilft mir die Joomla-Dokumentation nicht weiter, da ich im PuTTY-Client beim überprüfen der eingegebenen Syntax mittels ´nginx -t´ immer wieder eine Fehlermeldung bekomme, dass diese so nicht zulässig ist. Die Änderungen aus der Dokumentation nehme ich in folgendem Pfad auf dem Server vor: /etc/nginx/sites-enabled/example.org > Bin ich an dieser Stelle richtig?


    Nach dem umstellen im Joomla-Backend äußert sich das Problem klassisch wie ich es auch schon von Apache-Servern kenne:

    • Die URL ist überschrieben wie es sein soll.
    • Die Startseite ist aufrufbar aber die Unterseiten nicht.


    Die Anpassungen die ich in der htaccess gemacht habe sind die folgenden:

    • Umbenannt von htaccess.txt zu .htaccess
    • Entfernen des "#" vor RewriteBase /
    • Auskommentieren durch "#" von folgenden Parametern:
      • #Options +FollowSymlinks
      • #Options -Indexes


    Inhalt von /etc/nginx/sites-enabled/example.org > (Domain hier anonymisiert)


    An welcher Stelle muss ich grundsätzlich anpacken und was ist die korrekte Änderung dass der URL-Rewrite vom Nginx-Server korrekt ausgeführt wird?


    Vielen Dank für Eure Unterstützung!

  • Ich habe null Erfahrung mit Nginx, aber hast du das schon probiert?

    Vielen Dank für den Tipp CurlY BacketS. Ich werde mir das nochmal genauer ansehen. Wie es sich liest forscht der Fragende aber danach warum man nichts ändern muss unter Nginx.

    Bei mir funktioniert der Rewrite weder mit umbenannter htaccess (.htaccess) noch ohne diese umzubenennnen (htaccess.txt). Die Konfiguration innerhalb der Datei ist wie schon oben beschrieben.


    Wenn ich die unten stehenden Zeilen abändere passt jedenfalls die Syntax und es kommt keine Fehlermeldung mehr im PuTTY-Client, solange ich die Änderung innerhalb von:

    Code
    server {  ....  location / {     expires 1d;
         # Enable joomla SEF URL's inside Nginx     try_files $uri $uri/ /index.php?$args;  }  ....
    }

    durchführe.



    Es scheint wohl in allen Beiträgen in der Dokumentation um folgende Zeile (hier die Originale von meiner Konfiguration) zu gehen:

    Code
    try_files $uri $uri/ /index.php?$query_string;

    Als mögliche Varianten werden in verschiedenen Quellen noch die beiden folgenden zum verändern genannt:

    Code
    try_files $uri $uri/ /index.php?$args;
    
    oder...
    
    try_files $uri $uri/ /index.php?q=$request_uri;

    ...keine Ahnung welche nun in meinem Fall die richtige ist, bzw. ob wo anders angepackt werden muss!?

  • So, die Problematik ist gelöst und die Basis dafür war diese Dokumentation. Vielleicht kann ja jemand anderes noch von der Lösung profitieren :)


    Richtig für den URL-Rewrite war letztendlich diese Konfiguration in der Nginx.conf > try_files $uri $uri/ /index.php?$query_string;



    Gelb markiert die domainspezifischen Angaben, untenstehend der Quellcode zum kopieren: