Ronaldo Perez Posted May 11, 2011 Share Posted May 11, 2011 возвращаю оригинальный постпоможет тем кто держит престашоп на связке nginx apache fastcgi или в комбинацияхhttp://wiki.nginx.org/Prestashop_Rewritesпо ссылке добрый человек разместил переписанные под энжинкс правила для ЧПУ, фиксирую текст rewrite ^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg last; rewrite ^/([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg last; rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg last; rewrite "^/lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang;=$1$5" last; rewrite "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang;=$1$4" last; rewrite "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang;=$1" last; rewrite ^/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 last; rewrite ^/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 last; rewrite ^/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 last; rewrite ^/content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 last; rewrite ^/([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 last; rewrite ^/([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 last; rewrite "^/lang-([a-z]{2})/(.*)$ /$2?isolang=$1" last у кого апач стоит бекендом а энжинк отдает только картинки, и в момент включения ЧПУ у вас вместо картинок заглушки с неправильным урлом, берем строки rewrite ^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg last; rewrite ^/([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg last; rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg last; и прописываем их в location раздел конфы домена, ну или в общий в зависимости от ваших настроекП.С. весь набор реврайтов не проверял, смотрите внимательно. Также себе на память, нагуглено: Переделка RewriteRule простая1) надо в нгинксовой версии добавить слеши в начале2) RewriteRule заменить на rewrite3) [L] заменить на last;Пример апача:RewriteRule ^(en|de)/album/(.+?)/(.+?)/(.*)$ album.php?c=$1&id;=$2&name;=$3&$4 [L]нгинксrewrite ^ /(en|de)/album/(.+?)/(.+?)/(.*)$ /album.php?c=$1&id;=$2&name;=$3&$4 last; Link to comment Share on other sites More sharing options...
danileypro Posted June 10, 2011 Share Posted June 10, 2011 п..з..цтему запоролу меня prestashop стоит на сервере с nginx по началу грешил на него, и ЧПУ и скорость, и все беды на него оказалось - руки кривые у меня были...когда допёр до всего, nginx оказалось не причём Link to comment Share on other sites More sharing options...
SPolischook Posted June 11, 2011 Share Posted June 11, 2011 п..з..цоказалось - руки кривые у меня были...когда допёр до всего, nginx оказалось не причём У меня была проблема с Nginx, так и не решил - воспользовался услугами хостинга. В чем у Вас проблема была? Как решили? Link to comment Share on other sites More sharing options...
danileypro Posted June 11, 2011 Share Posted June 11, 2011 ЧПУ - одна из главных Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted June 11, 2011 Author Share Posted June 11, 2011 вернул оригинальный пост, если кому-то поможет - пользуйтесь.вообще в идеале при наличии таких правил... а -студент- apache не нужен родной (с) кин-дза-дза)))ставим nginx + php и забываем про тяжелый апач Link to comment Share on other sites More sharing options...
danileypro Posted June 11, 2011 Share Posted June 11, 2011 а en/de менять на ру? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted June 11, 2011 Author Share Posted June 11, 2011 а en/de менять на ру? в нижнем примере это без привязки к престашопу, просто логика замены правил.выше даны правила для престашопа, но я использую nginx только для отдачи картинок, потому использую только выделенные 3 правила Link to comment Share on other sites More sharing options...
danileypro Posted June 11, 2011 Share Posted June 11, 2011 скажи я вот теряюсь пока немного в этом _a-zA-Z0-9- , если я правильно понял - любой текст и цифры начинающиеся с _ и закнчивающиеся - правильно ? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted June 11, 2011 Author Share Posted June 11, 2011 скажи я вот теряюсь пока немного в этом _a-zA-Z0-9- , если я правильно понял - любой текст и цифры начинающиеся с _ и закнчивающиеся - правильно ? угу. только если ты собираешься переделывать правила сам - то как минимум используемые регулярки стоит изучить, я не вникал в них Link to comment Share on other sites More sharing options...
danileypro Posted June 11, 2011 Share Posted June 11, 2011 та отож, с регулярками вроде бы всё легко, но в связке с htacces вабче труба получается, я вижу сейчас народ который это уже схавал, легко делает сайт с такими ссылкамиhttp://tovar.domen.com или http://kategoriya.domen.comа с кирилическими урл вообще беда, вроде бы регулярки дописал всё правильно а не хочет по русски ссылки показывать и хоть ты тресни Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now