Jump to content
Froxlor Forum
  • 0

Nginx.conf/ vhost-Konfiguration Joomla-Redirect PHP-Handling


Schutzgeist

Question

Hallo, 

vielleicht kann mir jemand hier ja einen kleinen Tipp geben.
Es ist mehr eine nginx-Konfiguration. 

PHP-404-Rückmeldungen sollen "sauber" an Joomla übergeben werden.

 

Mein 'Froxlor-Standardvhost sieht wie folgt aus

Quote

server {
    listen xxxxx:80;
    server_name Beispiel.de ;
    include /etc/nginx/acme.conf;
    access_log /var/customers/logs/access.log combined;
    error_log /var/customers/logs/error.log error;
    root /var/customers/webs/beispiel/;
    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ @rewrites;
    }

    location @rewrites {
        rewrite ^ /index.php last;
    }

    location ~ ^(.+?\.php)(/.*)?$ {
        try_files /48acade6fe377522d46856a91a3532ac.htm @php;
    }

    location @php {
        try_files $1 = 404;

        include /etc/nginx/fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)\$;
        fastcgi_param SCRIPT_FILENAME $document_root$1;
        fastcgi_param PATH_INFO $2;
        fastcgi_pass unix:/var/run/1-xyz.socket;
        fastcgi_index index.php;
    }


}


Allerdings kann ich über das Joomla eigene REDIRECT Modul keine .php - Erweiterungen intern umleiten. 
Anstatt  die joomla-eigene 404 Seite zu erhalten, bekomme ich die von nginx, da  die Abfrage hier als erstes ausgeführt wird. 

Also habe ich meine vhost stümperhaft umgeschrieben, s.d. ein Teil seinen Soll erfüllt. 

Quote

server {
......
    rewrite_log on; 

 

error_page 404    /index.php?$query_string;

    location / {
        index index.php index.html index.htm;
          #try_files $uri $uri/ /index.php?q=$request_uri;
          try_files $uri $uri/ /index.php?$query_string;    }

     

    location ~ ^(.+?\.php)(/.*)?$ {
        #try_files $1 = 404;
                #try_files $1 = /index.php ;
                #try_files $1 = /index.php$is_args$args;
                #try_files $uri $uri/ /index.php?$args;
                try_files $uri $uri/ /index.php$is_args$args;
        include /etc/nginx/fastcgi_params;
        #fastcgi_split_path_info ^(.+\.php)(/.+)\$;
        fastcgi_param SCRIPT_FILENAME $document_root$1;
        fastcgi_param PATH_INFO $2;
        fastcgi_pass unix:/var/run/1-..........socket;
        fastcgi_index index.php;
    }


}


Teilweise kann ich nun die Redirects über Joomla verwalten lassen, aber oft erhalte ich LOOPs, da ich ja immer auf die index.php verweise. 
So, warum nutze ich nicht die nginx-Weiterleitungen ? 

Ich nutze ein Multi-Sitemodul  sowie ein Modul, um eine php-Endung  zu simulieren. 
Beide haben mit meiner und der Standardvhost-Konfiguration leichte Schwierigkeiten. 

 

Welche Vhost-Anpassungen nutzt ihr bei Eurer Joomla-Webseite ? 
Der Fehler sitzt vermutlich 30 cm vor meinem Bildschirm. 

Innerhalb meiner letzten 30 Versuche habe ich wohl  oft alte Cache-Webseiten geladen und ggf. die richtige Konfig übersehen.

 


 

 

 

 

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...