Boss |
|
---|---|
Может быть кто-то уже имел опыт настройки Nginx под красивые ссылке в Cotonti? Смысл в том, что Apache не используется на сервере вообще, соответвенно mod_rewrite недоступен. Для 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]
Их и необходимо преобразовать под синтексис Nginx.
Что-то вроде этого должно быть:
rewrite ^(.*)([a-z]+)-([0-9a-z]+)-([0-9a-z_]*)-?(.*)$ $1$2-$5?$3=$4 last; rewrite ^(.*)([a-z]+)-?\.html$ $1$2.php last;В текущем виде не работает первая строка.
Добавлено 11 часа спустя: Копаться некогда. Пока сделал тупо, но главное, оно работает: 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; Добавлено 4 дня спустя: На сайте разработчиков Nginx подсказали как правильно преобразовать две строчки Apache написанные выше в синтексису Nginx. Вот оно: location / { rewrite ^(/[a-z]+)-([0-9a-z]+)-([0-9a-z_]*)-?(.*)$ $1-$4?$2=$3; rewrite ^(/[a-z]+)-?\.html$ $1.php last; } Проверенно, работает. Вот ссылка на обсуждение http://forum.nginx.org/read.php?21,204040 Прошу обратить внимание разработчиков Cotonti на данное обсуждение, поскольку там затронуты явные минусы реализации работы со ссылками в движке. Советы непосредственно от автора Nginx. По-моему стоит прислушатся. |
|
Bu gönderi Boss tarafından düzenlendi (2011-06-06 15:47, 13 yıllar önce) |
Trustmaster |
|
---|---|
В альфа-версиях Сиены мы предлагали перейти к универсальному загрузчику в index.php и обеспечить работу старых ссылок с помощью rewrite'ов и 301 редиректов. Но консервативно настроенные пользователи потребовали от нас вернуть старые ссылки по умолчанию без каких-либо rewrite'ов. Предложенный способ разбора перезаписанных ссылок на стороне скрипта планируется реализовать в задаче #614. Единая точка входа, конечно, упростила бы работу над ней. May the Source be with you!
|