Încerc să aranjez un bloc de locație pentru ca oricine să treacă mydomain.com/game/admin url, asigurați-vă că serverul nginx pentru a extrage conținutul există /var/www/html/my-cakephp-app/ director. Aplicația mea este construită folosind cakephp framework și structura sa de directoare este prezentată mai jos:
- /var/www/html/my-cakephp-app/
- admin
- Config
- Consolă
- Controlor
- Vedere
- webroot (Fișierul index.php pentru punctul de intrare al aplicației există în acest director)
De asemenea, am un site static html/css situat în /var/www/html director. Deci oricine cu mydomain.com url poate vedea și site-ul respectiv.
Iată blocul meu actual de server nginx:
Server {
asculta 80;
asculta [::]:80;
rădăcină /var/www/html;
index index.html index.htm index.php;
nume_server domeniul meu.com;
Locație / {
try_files $uri $uri/ =404;
}
locație /joc/admin {
returnează 301 /game/admin/;
}
locație /joc/admin/ {
root /var/www/html/my-cakephp-app/admin/webroot;
try_files $uri $uri/ /game/admin/index.php$is_args$args;
locație ~* \.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
locație ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
locație ~ /\.ht {
nega totul;
}
}
Cu această configurare, site-ul meu web static funcționează bine. Dar aplicația cakephp dă eroarea 404 negăsit în browser. Nu există erori în nginx/error.log.
Dar când rulez cu configurația nginx de mai jos, aplicația mea funcționează bine. Dar trebuie să scap de site-ul meu html/css. Plănuiesc să fac upgrade aplicației html/css cu un site wordpress. Așa că ar trebui să am capacitatea de a rula site-ul wordpress ca părinte.
Server {
asculta 80;
nume_server domeniul meu.com;
root /var/www/html/my-cakephp-app/admin/webroot;
index index.html index.htm index.php;
Locație / {
try_files $uri $uri/ /index.php$is_args$args;
autoindex activat;
}
locație ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
locație ~ /\.ht {
nega totul;
}
}
Nu m-am putut gândi la ce am greșit cu primul bloc de server. Orice sugestie ar fi de mare ajutor.