Portál AbcLinuxu, 24. července 2025 06:46
location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.php?$args; } location ~ ^/([a-z][a-z]/|)(?:(aaa|bbb|ccc)/?(.*?)|)$ { try_files $uri /index.php?a=$1&$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; }Pokud volam neco, co spadne do "/" a je .php, tak se zpracuje i php blok. Pokud volam ale ten regex location a je i .php, tak se jiz k php bloku nedostane a misto zpracovani php se zobrazi zdrojak. Jak z toho ven, aniz bych musel do toho regex location bloku pridavat znovu definici php bloku (at uz naprimo, nebo pres @)? Diky
try_files
postupně zkouší argumenty, pokud některý odpovídá existujícímu souboru, vrátí ho, poslední argument pak umožňuje definovat, co se stane, pokud nic nenajde. V tomto případě nejspíš soubor odpovídající $uri
existuje a tak se zobrazí. Hádám, že místo toho chceš rewrite
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.