Задать вопрос
@47911

Почему файл PHP в подпапке скачивается а не выполняется(NGINX)?

Здравствуйте.

Пытаюсь сделать так, чтобы файл `/install/app.php` выполнялся, а он скачивается.

Если важно: сайт на phpBB.

Текущий конфиг NGINX

server {
    server_name cait.ru www.cait.ru;
    listen 185.135.80.100;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    server_name cait.ru www.cait.ru;
    listen 185.135.80.100:443 ssl http2;
    ssl_certificate /home/ssss/domains/cait.ru/ssl.cert;
    ssl_certificate_key /home/ssss/domains/cait.ru/ssl.key;


    root /home/ssss/domains/cait.ru/public_html;
    index index.html index.htm index.php;
    access_log /var/log/nginx/cait.ru_access_log;
    error_log /var/log/nginx/cait.ru_error_log;
    fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    fastcgi_param SERVER_SOFTWARE nginx;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param SCRIPT_FILENAME /home/ssss/domains/cait.ru/public_html$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param DOCUMENT_URI $document_uri;
    fastcgi_param DOCUMENT_ROOT /home/ssss/domains/cait.ru/public_html;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param REMOTE_ADDR $remote_addr;
    fastcgi_param REMOTE_PORT $remote_port;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;
    fastcgi_param HTTPS $https;
set $_PHP_COKET unix:/var/run/php8.4-fpm-cait.ru.sock;



# Global / — для всего сайта, кроме /install/ (из-за ^~)
location / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
}

# Global PHP handler (не для /install/, оно в ^~)
location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass $_PHP_COKET;
    # Добавьте аналогичные fastcgi_param, если в location_php.conf их нет
}

location @php_ZAnyCK {
    try_files $uri =404;
    fastcgi_pass $_PHP_COKET;
}

rewrite ^/wp-content/(.*\.jpg)?$ /wp-content/$1 last;
rewrite ^(.*?)(cache|inc|jscript|lofiversion|nunu|skin_acp|style_emoticons|style_images|support|uploads)(.*\.PNG)?$ /C/$1$2$3 last;

# nginx configuration
#location / {if (!-e $request_filename){rewrite ^(.*)$ /app.php break;}}
#location /install/ {if (!-e $request_filename){rewrite ^(.*)$ /app.php break;}}

location /config.php {fastcgi_pass $_PHP_COKET;}
location /common.php {fastcgi_pass $_PHP_COKET;}

location ^~ /viewtopic.php {fastcgi_pass $_PHP_COKET;}
location ^~ /viewforum.php {fastcgi_pass $_PHP_COKET;}
location ^~ /ucp.php {fastcgi_pass $_PHP_COKET;}
location ^~ /style.php {fastcgi_pass $_PHP_COKET;}
location ^~ /sitemap.php {fastcgi_pass $_PHP_COKET;}
location ^~ /search.php {fastcgi_pass $_PHP_COKET;}
location ^~ /report.php {fastcgi_pass $_PHP_COKET;}
location ^~ /posting.php {fastcgi_pass $_PHP_COKET;}
location ^~ /memberlist.php {fastcgi_pass $_PHP_COKET;}
location ^~ /mcp.php {fastcgi_pass $_PHP_COKET;}
location ^~ /feed.php {fastcgi_pass $_PHP_COKET;}
location ^~ /faq.php {fastcgi_pass $_PHP_COKET;}

#location ^~ /install {fastcgi_pass $_PHP_COKET;if (!-e $request_filename){rewrite ^(.*)$ /app.php break;}}

#location ^~ /install {
#    # Добавляем обработку PHP внутри /install
#    location ~ \.php$ {return 401;
#        # Убедись, что есть include fastcgi_params; (если нет глобально)
#        include fastcgi_params;
#        fastcgi_pass $_PHP_COKET;
#    }
#    # Условное перенаправление, как было
#    if (!-e $request_filename){return 402;
#        rewrite ^(.*)$ /app.php break;
#    }
#    # Если нужны дополнительные параметры (например, для картинок, JS), добавь здесь
#}


}



И да:
#location / {if (!-e $request_filename){rewrite ^(.*)$ /app.php break;}}
#location /install/ {if (!-e $request_filename){rewrite ^(.*)$ /app.php break;}}

и
#location ^~ /install {fastcgi_pass $_PHP_COKET;if (!-e $request_filename){rewrite ^(.*)$ /app.php break;}}

пробовал. И не только. Кто может что посоветовать?
  • Вопрос задан
  • 35 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы