Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Преобразование настрое к mod rewrite
Спасибо Павел и Игорь за развернутые
ответы! Очень полезно.
Размещу ссылку на это обсуждение на
сайте разработчиков Cotonti. )
Самое смешное, что разработчики Cotonti, во
всяком случае некоторые, понимают, что
более разумно было бы сделать все
запросы через один файл, как это
реализовано в Drupal. Просто, как я понял,
пока верх берет привязанность
пользователей движка к текущей
реализации запросов через несколько
файлов. Пока это так, что-то менять не
разумно, т.к. они наоборот стремятся все
упростить и сделать код более
прозрачным. Надеюсь разум все же
возьмет верх и правильная
оптимизированная работа со ссылками
все же появится в Cotonti, тем более что
этот движок изначально затачивается
главным образом под скорость (+
безопасность).
PS: Сегодня мне кстати дали образец
настроек nginx под более красивые ссылки
(см. ниже). Я про этот вариант говорил.
Пока это видимо считается лучшим для
Cotonti, поскольку именно это используется
на его родном сайте. Меня, если честно,
такой объем строк пугает. ) Но может
быть он все же более быстр в работе чем
итерации с двумя строчками.
----
# File protection
location ~ \.(tpl|dat)$ {
deny all;
}
### DEFAULT PATH PROTECTION ###
#rewrite "\.(js|css)$" /rc.php?uri=$request_filename last;
rewrite "^/(datas|images|js|thms|reference|vids)/(.*)$" /$1/$2 last;
### Donations ###
rewrite "^/donate-thankyou" /plug.php?e=donations&m=return last;
rewrite "^/donate" /plug.php?e=donations last;
### Version Update Check ###
rewrite "^/update-check" /plug.php?r=updatecheck last;
### IRC Chat ###
rewrite "^/chat" /plug.php?e=qwebirc last;
### Combined pages & lists ###
# Level 4
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/([0-9]+)"
/page.php?id=$5 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/add$"
/page.php?m=add&c=$4 last;
rewrite "^/docs/([a-z-]+)/([a-z-]+)/([a-z\-]+)/add$"
/page.php?m=add&c=docs-$1-$2-$3 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-zA-Z0-9\-_]+)"
/page.php?al=$5 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/"
/page.php?c=$4 last;
rewrite "^/docs/([a-z\-]+)/([a-z\-]+)/([a-z\-]+)/"
/page.php?c=docs-$1-$2-$3 last;
# Level 3
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([a-z0-9\-]+)/([a-z0-9\-]+)/([0-9]+)"
/page.php?id=$4 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news)/([a-z0-9\-]+)/([a-z0-9\-]+)/add$"
/page.php?m=add&c=$3 last;
rewrite "^/docs/([a-z-]+)/([a-z-]+)/add$" /page.php?m=add&c=docs-$1-$2
last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-zA-Z0-9\-_]+)"
/page.php?al=$4 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news)/([a-z0-9\-]+)/([a-z0-9\-]+)/"
/page.php?c=$3 last;
rewrite "^/docs/([a-z\-]+)/([a-z\-]+)/" /page.php?c=docs-$1-$2 last;
# Level 2
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([a-z0-9\-]+)/([0-9]+)"
/page.php?id=$3 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news)/([a-z0-9\-]+)/add$"
/page.php?m=add&c=$2 last;
rewrite "^/docs/([a-z\-]+)/add[^a-z]?" /page.php?m=add&c=docs-$1 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([a-z0-9\-]+)/([a-zA-Z0-9\-_]+)"
/page.php?al=$3 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news)/([a-z0-9\-]+)/"
/page.php?c=$2 last;
rewrite "^/docs/([a-z\-]+)/" /page.php?c=docs-$1 last;
# Level1
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([0-9]+)"
/page.php?id=$2 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/add$"
/page.php?m=add&c=$1 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/([a-zA-Z0-9\-_]+)"
/page.php?al=$2 last;
rewrite
"^/(articles|download|extensions|themes|locales|addons|news|docs)/"
/page.php?c=$1 last;
### PASTEBIN ###
rewrite "^/pastebin/([a-zA-Z0-9\._\-\%]+)-([a-zA-Z0-9\._\-\%]+)"
/plug.php?e=pastebin&m=$1&id=$2 last;
rewrite "^/pastebin/adm" /plug.php?e=pastebin&m=adm last;
rewrite "^/pastebin/([0-9]+)$" /plug.php?e=pastebin&m=view&id=$1 last;
rewrite "^/pastebin/" /plug.php?e=pastebin last;
### USERS ###
rewrite "^/users/register\.html$" /users.php?m=register last;
rewrite "^/users/password-recover\.html$" /plug.php?e=passrecover last;
rewrite "^/users/([^?]+)$" /users.php?m=details&u=$1 last;
rewrite "^/users/" /users.php last;
### SHOWCASE ###
rewrite "^/showcase/([^/&?#]+)(.*)$" /plug.php?id=$1&e=showcase$2 last;
rewrite "^/showcase/(.*)$" /plug.php?e=showcase$1 last;
### SITEMAP ###
rewrite "^/sitemap\.xml$" /plug.php?r=an_sitemap&out=xml last;
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,204040,204354#msg-204354
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|