Итак, я на самом деле пытаюсь портировать Переписать правила из Апачи к Nginx но, кажется, я не могу полностью портировать.
На самом деле, на моем сервере у меня есть работающий сайт. https://example.com
домен и /var/www/html/
путь на сервере. То, что я пытаюсь сделать, это установить пользовательский скрипт в подкаталог под var/www/html/подкаталог
путь и домен https://example.com/подкаталог
.
Проблема в том, что правила перезаписи не работают и даже 404 не найдено
происходят ошибки. Пожалуйста, помогите мне.
Мой Апач .htaccess
файл:
Правило перезаписи ^page/?$ pages/page.php [L]
Правило перезаписи ^about/?$ pages/about.php [L]
RewriteRule ^privacy-policy/?$ pages/privacy-policy.php [L]
RewriteRule ^contact/?$ pages/contact.php [L]
Правило перезаписи ^terms/?$ pages/tos.php [L]
RewriteCond %{REQUEST_FILENAME} -f
Правило перезаписи ^(.+) - [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]
и Конфигурация NGINX
файл, который я пытался портировать:
сервер
{
слушать 80 default_server;
слушать [::]:80 default_server;
корень /var/www/html;
# Добавьте index.php в список, если вы используете PHP
индекс index.php index.html;
имя_сервера локальный хост;
место расположения /
{
try_files $uri $uri/ =404;
}
# передать PHP-скрипты на сервер FastCGI
расположение ~ \.php$
{
включить фрагменты/fastcgi-php.conf;
# # С php-fpm (или другими сокетами unix):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # С php-cgi (или другими сокетами tcp):
# fastcgi_pass 127.0.0.1:9000;
}
местоположение/подкаталог
{
корень /var/www/html/подкаталог;
индекс index.php;
try_files $uri $uri//index.php$args$query_string
расположение ~ ^/(.+)
{
}
местоположение/страница
{
переписать ^/page/?$ /pages/page.php break;
}
местоположение / о
{
переписать ^/about/?$ /pages/about.php break;
}
местоположение/конфиденциальность
{
переписать ^/privacy-policy/?$/pages/privacy-policy.php break;
}
местоположение/контакт
{
переписать ^/contact/?$ /pages/contact.php break;
}
расположение/условия
{
переписать ^/terms/?$ /pages/tos.php break;
}
место расположения /
{
если (-e $request_filename)
{
переписать ^/sitemap-([0-9]+).xml$ /parts/sitemaps/sitemap-$1.xml break;
}
переписать ^/(.*)/(.*)/(.*)/(.*)/?$ /index.php?bank=$1&state=$2&district=$3&branch=$4 break;
переписать ^/(.*)/(.*)/(.*)/?$ /index.php?bank=$1&state=$2&district=$3 break;
переписать ^/(.*)/(.*)/?$ /index.php?bank=$1&state=$2 break;
переписать ^/(.*)/?$ /index.php?bank=$1 break;
}
расположение ~ /подкаталог /(.+\.php)$
{
включить фрагменты/fastcgi-php.conf;
# С php-fpm (или другими сокетами unix):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# С php-cgi (или другими сокетами tcp):
# fastcgi_pass 127.0.0.1:9000;
}
}
}