У меня есть следующий серверный блок nginx в его конфигурации
server {
listen 80;
server_name mydomain.com;
location /deploy {
alias /home/somedir/deploy/;
}
# pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Я хочу выполнить php файл на url mydomain.com/deploy/erp/index.php или mydomain.com/deploy/erp
Вышеупомянутая вещь загружает файл php вместо его выполнения. Я googled и нашел решения, которые требуют, чтобы вы определили каталог www или что-то еще. Мне просто нужно выполнить файл в определенном каталоге по определенному URL-адресу. Какие у меня варианты?
Вы не сказали nginx, что делать с файлами.php. Предполагая, что вы используете php-fpm, вам понадобится что-то вроде этого:
server {
listen 80;
server_name mydomain.com;
root /home/somedir;
location / {
try_files $uri $uri/ =404;
}
location /deploy {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
}