<div dir="ltr"><div><div><div><div><div><div><div>для настройки роутинга CMS общепринятая практика делать try_files, например, так<br><br><a href="https://book.cakephp.org/2.0/en/installation/url-rewriting.html">https://book.cakephp.org/2.0/en/installation/url-rewriting.html</a><br><br></div>логика тут примерно, как вы написали "если файл существует, то отдать его, если файла нет, или он с расширением php, то отправить на fastcgi"<br><br><br></div>что делать с "можно слить файлы конфигурации" - в принципе, странно, что вы об этом думаете заранее. обычно, проблемы решаются по мере поступления ))<br><br></div>а) необязательно файлы конфигурации хранить внутри сайта<br><br></div>б) можно сделать вот так<br><br></div>location /config/ {<br></div>   return 404;<br>}<br><br></div>в) можно хранить конфигурацию в виде php (а не ini, yml), это, кстати, самое выгодное в плане производительности. и такой файл (внутри которого определены только переменные) слить не получится.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-03-15 1:49 GMT+05:00 valmon <span dir="ltr"><<a href="mailto:nginx-forum@forum.nginx.org" target="_blank">nginx-forum@forum.nginx.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">В общем, получилась вот такая конструкция<br>
    location / {<br>
        root /home/admin/web/<a href="http://site.com/public_html" rel="noreferrer" target="_blank">site.com/<wbr>public_html</a>;<br>
            location ~ ^/[A-Z][A-Za-z]*. {<br>
                if (!-e $request_filename) {<br>
                rewrite ^/(.*)$ /core/Load.php?q=$1 last;<br>
                }<br>
            }<br>
<br>
        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|<wbr>ico|svg|css|js)$ {<br>
            expires     max;<br>
        }<br>
        location ~ [^/]\.php(/|$) {<br>
            fastcgi_param SCRIPT_FILENAME<br>
$document_root$fastcgi_script_<wbr>name;<br>
            if (!-f $document_root$fastcgi_script_<wbr>name) {<br>
                return  404;<br>
            }<br>
<br>
            fastcgi_pass    <a href="http://127.0.0.1:9000" rel="noreferrer" target="_blank">127.0.0.1:9000</a>;<br>
            fastcgi_index   index.php;<br>
            include         /etc/nginx/fastcgi_params;<br>
        }<br>
    }<br>
<br>
Но получается, что можно слить файлы конфигурации, так как  if (!-e<br>
$request_filename)<br>
<br>
Posted at Nginx Forum: <a href="https://forum.nginx.org/read.php?21,272923,272934#msg-272934" rel="noreferrer" target="_blank">https://forum.nginx.org/read.<wbr>php?21,272923,272934#msg-<wbr>272934</a><br>
<div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div>