Profile picture for Admin

Как-то, мне пришлось поднимать сайт на nginx, который был заточен под apache. В сети есть конвертреы конфигов, о чем я раньше не знал. Но конвертированный конфиг будет работат не всегда.

Итак, задача: нужно редиректить все запросы на опреденный файл. Файл будет не стандартный .php, а .pphp например.

Так выглдяит исходный файл htaccess:

RewriteEngine on

RewriteBase /


RewriteRule ^(index\.html|index|"")$ index.pphp?page=main&type=text [L]

RewriteRule ^(ajax|js) index.pphp?type=text [L]

RewriteRule \.(html|htm)$ index.pphp?type=text [L]

RewriteRule \.(php|cgi)$ index.pphp?type=cgi [L]

После долгих плясок с бубном я привел данный конфиг к такому виду под nginx: (/etc/nginx/sites-enabled/testsite)

server {

        server_name testsite.local;

        root /var/www/testsite;

        index index.pphp;


rewrite ^/(index\.html|index|"")$ /index.pphp?page=main&type=text break;

rewrite \.(html|htm)$ /index.pphp?type=text break;

rewrite \.(php|cgi)$ /index.pphp?type=cgi break;


location /ajax {

rewrite ^(.*)$ /index.pphp?type=text break;

}


location /js {

rewrite ^(.*)$ /index.pphp?type=text break;

}


location ~ \.(php|php5|phtml)$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

include fastcgi_params;

fastcgi_index index.pphp;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_intercept_errors on;

fastcgi_pass unix:/var/run/php5-fpm.sock;

       }

}
Чтоб php5-fpm работал с расширениями отличными от php, нужно прописать ему в настройках /etc/php5/fpm/pool.d/www.conf
security.limit_extensions = .php .pphp

Добавить комментарий

Содержимое данного поля является приватным и не предназначено для показа.
  • HTML-теги не обрабатываются и показываются как обычный текст
 .d888b.  d888888P  dP     dP  dP     dP   .88888.   
Y8' `8P 88 88 88 88 88 d8' `8b
d8bad8b 88 88 .8P 88 88 88 88
88` `88 88 88 d8' 88 88 88 db 88
8b. .88 88 88 .d8P Y8. .8P Y8. Y88P
Y88888P dP 888888' `Y88888P' `8888PY8b

Введите код, изображенный в стиле ASCII-арт.