Welcome! Log In Create A New Profile

Advanced

Преобразование настроек mod_rewrite

June 05, 2011 03:58AM
Пользовался на VDS apache, теперь перешел на nginx/1.0.4. Не могу сообразить как лучше преобразовать конфигурацию mod_rewrite под синтаксис nginx. Пожалуйста помогите.

Вот что было для apache:
---
RewriteRule ^([a-z]+)-([0-9a-z]+)-([0-9a-z_]*)-?(.*)$ $1-$4?$2=$3 [NC,QSA]
RewriteRule ^([a-z]+)-?\.html$ $1.php [NC,L,QSA]
---
На всякий случай говорю, что использую сайтовый движок Cotonti.

Сейчас в качестве временного решения прописал настройки nginx так:
---
rewrite "^/([a-z]+)\.html$" /$1.php last;
rewrite "^/([a-z]+)-([a-z]+)-([0-9a-z_]*)\.html$" /$1.php?$2=$3 last;
rewrite "^/([a-z]+)-([a-z]+)-([0-9a-z_]*)-([a-z]+)-([0-9a-z_]*)\.html$" /$1.php?$2=$3&$4=$5 last;
rewrite "^/([a-z]+)-([a-z]+)-([0-9a-z_]*)-([a-z]+)-([0-9a-z_]*)-([a-z]+)-([0-9a-z_]*)\.html$" /$1.php?$2=$3&$4=$5&$6=$7 last;
rewrite "^/([a-z]+)-([a-z]+)-([0-9a-z_]*)-([a-z]+)-([0-9a-z_]*)-([a-z]+)-([0-9a-z_]*)-([a-z]+)-([0-9a-z_]*)\.html$" /$1.php?$2=$3&$4=$5&$6=$7&$8=$9 last;
---

Оно работает, но, согласитесь, метод довольно тупой. Параметров в строке может оказаться и больше. Хотелось бы более изящного и универсального решения.
Subject Author Posted

Преобразование настроек mod_rewrite

hdcoder June 05, 2011 03:58AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 309
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready