Я пытаюсь переместить мой сервер из Apache в соответствии с настройкой Nginx. Тем не менее, у меня возникают проблемы с получением части магии Apache для htaccess для работы в Nginx.Nginx, переписать несколько вложенных папок
.htaccess, код, который я хотел бы передать это:
RewriteRule ^([a-zA-Z0-9_]+)/$ /index.php?page=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9_]+).html$ /index.php?page=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/.*/([a-zA-Z0-9_]+)$ /index.php?page=$1&id=$2&sub=$3 [L,QSA]
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/.*$ /index.php?page=$1&id=$2 [L,QSA]
Я использовал online converter, который дал мне следующее расположение блока:
location/{
rewrite ^/([a-zA-Z0-9_]+)/$ /index.php?page=$1 break;
rewrite ^/([a-zA-Z0-9_]+).html$ /index.php?page=$1 break;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)/.*/([a-zA-Z0-9_]+)$ /index.php?page=$1&id=$2&sub=$3 break;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)/.*$ /index.php?page=$1&id=$2 break;
}
К сожалению, я только смог получить одно место переписывается, чтобы работать за один раз (тот, который я поставил «последним») позади. Кажется, я не могу сделать это динамическое переписывание множественного URL вложенной папки в аргументы для одного PHP-скрипта.
Любая помощь по этому вопросу? Каков способ Nginx сделать такую переписку? Я попытался использовать несколько местоположений для разных подпапок, но я предпочел бы иметь общее решение, которое работает независимо от того, какие URL-адреса выбраны для него.
работает как шарм , Спасибо! Я не пробовал использовать регулярное выражение в строке местоположения. – Sander