Deci, chiar încerc să port Rescrie regulile din Apache la NGINX dar se pare că nu sunt capabil să port complet.
De fapt, pe serverul meu am un site care rulează https://example.com
domeniul si /var/www/html/
calea pe server. Ceea ce încerc să fac este să instalez un script personalizat într-un subdirector sub var/www/html/subdirector
calea si domeniul https://example.com/subdirectory
.
Problema este că regulile de rescriere nu funcționează și chiar 404 nu au fost găsite
apar erori. Va rog frumos ajutati-ma.
Apache al meu .htaccess
fişier:
RewriteRule ^page/?$ pages/page.php [L]
RewriteRule ^about/?$ pages/about.php [L]
RewriteRule ^privacy-policy/?$ pages/privacy-policy.php [L]
RewriteRule ^contact/?$ pages/contact.php [L]
RewriteRule ^terms/?$ pages/tos.php [L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) - [PT,L]
RewriteRule ^sitemap-([0-9]+).xml$ parts/sitemaps/sitemap-$1.xml [QSA,L]
RewriteRule ^(.*)/(.*)/(.*)/(.*)/?$ index.php?bank=$1&state=$2&district=$3&branch=$4 [QSA,L]
RewriteRule ^(.*)/(.*)/(.*)/?$ index.php?bank=$1&state=$2&district=$3 [QSA,L]
RewriteRule ^(.*)/(.*)/?$ index.php?bank=$1&state=$2 [QSA,L]
RewriteRule ^(.*)/?$ index.php?bank=$1 [QSA,L]
și Configurarea NGINX
fișier pe care am încercat să îl port:
Server
{
asculta 80 default_server;
asculta [::]:80 default_server;
rădăcină /var/www/html;
# Adăugați index.php la listă dacă utilizați PHP
index index.php index.html;
nume_server gazdă locală;
Locație /
{
try_files $uri $uri/ =404;
}
# treceți scripturile PHP către serverul FastCGI
locație ~ \.php$
{
include snippets/fastcgi-php.conf;
# # Cu php-fpm (sau alte socket-uri Unix):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # Cu php-cgi (sau alte socket-uri tcp):
# fastcgi_pass 127.0.0.1:9000;
}
locație/subdirector
{
rădăcină /var/www/html/subdirector;
index index.php;
try_files $uri $uri/ /index.php$args$query_string
locație ~ ^/(.+)
{
}
locație /pagină
{
rescrie ^/page/?$ /pages/page.php pauză;
}
locație /despre
{
rescrie ^/about/?$ /pages/about.php pauză;
}
locație / confidențialitate
{
rescrie ^/privacy-policy/?$ /pages/privacy-policy.php pauză;
}
locatie/contact
{
rescrie ^/contact/?$ /pages/contact.php pauză;
}
locație/termeni
{
rescrie ^/terms/?$ /pages/tos.php pauză;
}
Locație /
{
dacă (-e $nume_fișier_cerere)
{
rescrie ^/sitemap-([0-9]+).xml$ /parts/sitemaps/sitemap-$1.xml break;
}
rescrie ^/(.*)/(.*)/(.*)/(.*)/?$ /index.php?bank=$1&state=$2&district=$3&branch=$4 break;
rescrie ^/(.*)/(.*)/(.*)/?$ /index.php?bank=$1&state=$2&district=$3 break;
rescrie ^/(.*)/(.*)/?$ /index.php?bank=$1&state=$2 break;
rescrie ^/(.*)/?$ /index.php?bank=$1 pauză;
}
locație ~ /subdirector /(.+\.php)$
{
include snippets/fastcgi-php.conf;
# Cu php-fpm (sau alte socket-uri Unix):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# Cu php-cgi (sau alte socket-uri tcp):
# fastcgi_pass 127.0.0.1:9000;
}
}
}