June 06, 2011 11:37AM
Спасибо Павел и Игорь за развернутые ответы! Очень полезно.
Размещу ссылку на это обсуждение на сайте разработчиков 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;
Subject Author Posted

Re: Преобразование настроек mod rewrite

Igor Sysoev June 05, 2011 04:18AM

Re: Преобразование настроек mod rewrite

hdcoder June 05, 2011 07:24AM

Re: Преобразование настроек mod rewrite

hdcoder June 06, 2011 11:37AM

Re: Преобразование настроек mod rewrite

Pavel V. June 06, 2011 02:10AM

Re: Преобразование настроек mod rewrite

Igor Sysoev June 06, 2011 03:36AM

Re: Преобразование настроек mod rewrite

Igor Sysoev June 06, 2011 04:06AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 232
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