Halloweenská akce! Na stránce s dobitím bodů zadej dole kód STRASIDELNYCH20 a získej porci +20% bodů zdarma!
Akce končí 31.10. o půlnoci.
Avatar
Štěpán
Člen
Avatar
Štěpán:10. srpna 16:28

Prosím, poraďte mi, jak ze zamotaného klubka ven.
Mám nastavený router v nette a presenter, který zpracovává odkazy /presenter/akce.

Musím však přijímat requesty z jiného systému, které jsou posílány ve formátu /presenter/fi­le.php.

Jestli jsem správně pochopil, tak konkrétní soubory .php se vůbec do routeru nedostanou, protože je nginx směřuje do neexistující složky presenter, ve které file.php nenajde a vyhodí chybu.

Jak nastavit nginx, aby buď požadavky /presenter/file.php směřoval do nette indexu s tím, že file a složka by byly get parametry, kde už si to v routeru přepíšu na /presenter/akce. Nebo ještě lépe,jak umazat příponu php, aby z toho byl /presenter/file , který už zase nette router hezky zpracuje?

Současná konfigurace je:

location / {

    try_files $uri $uri/ /index.php$is_args$args;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   html;
}
location ~ \.(neon|ini|log|yml)$ {
        deny all;
        access_log off;
}

location ~ /\.ht {
        deny all;
        access_log off;
}

location ~ \.php$ {

    fastcgi_pass   127.0.0.1:9000;


    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    index   index.php;


    include        fastcgi_params;
}
 
Odpovědět 10. srpna 16:28
Avatar
Štěpán
Člen
Avatar
Štěpán:20. srpna 11:56

Tak jsem to nakonec vyřešil takto:

rewrite ^/presenter/(.*)\.php(.*) /presenter/$1$2 permanent;

a funguje to.

Editováno 20. srpna 11:57
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět 20. srpna 11:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.