weiss 4 Опубликовано: 4 мая 2012 Рассказать Опубликовано: 4 мая 2012 (изменено) В настоящий момент использую такой конфиг с версией 9.6: rewrite ^/page/(.*)$ /index.php?cstart=$1 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page,([0-9]+),([0-9]+),(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page,([0-9]+),(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/print:page,([0-9]+),(.*).html(/?)+$ /engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last; rewrite ^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$4&news_page=$2&cstart=$3 last; rewrite ^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$3&news_page=$2 last; rewrite ^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /engine/print.php?news_page=$2&newsid=$3 last; rewrite ^/([^.]+)/([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$2 last; rewrite ^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$3&news_page=$1&cstart=$2 last; rewrite ^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$2&news_page=$1 last; rewrite ^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /engine/print.php?news_page=$1&newsid=$2 last; rewrite ^/([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$1 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&day=$3 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&day=$3&cstart=$4 last; rewrite ^/([0-9]+)/([0-9]+)(/?)+$ /index.php?year=$1&month=$2 last; rewrite ^/([0-9]+)/([0-9]+)/page/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&cstart=$3 last; rewrite ^/([0-9]+)(/?)+$ /index.php?year=$1 last; rewrite ^/([0-9]+)/page/([0-9]+)(/?)+$ /index.php?year=$1&cstart=$2 last; rewrite ^/tags/([^/]*)(/?)+$ /index.php?do=tags&tag=$1 last; rewrite ^/tags/([^/]*)/page/([0-9]+)(/?)+$ /index.php?do=tags&tag=$1&cstart=$2 last; rewrite ^/user/([^/]*)/rss.xml$ /engine/rss.php?subaction=allnews&user=$1 last; rewrite ^/user/([^/]*)(/?)+$ /index.php?subaction=userinfo&user=$1 last; rewrite ^/user/([^/]*)/page/([0-9]+)(/?)+$ /index.php?subaction=userinfo&user=$1&cstart=$2 last; rewrite ^/user/([^/]*)/news(/?)+$ /index.php?subaction=allnews&user=$1 last; rewrite ^/user/([^/]*)/news/page/([0-9]+)(/?)+$ /index.php?subaction=allnews&user=$1&cstart=$2 last; rewrite ^/user/([^/]*)/news/rss.xml(/?)+$ /engine/rss.php?subaction=allnews&user=$1 last; rewrite ^/lastnews(/?)+$ /index.php?do=lastnews last; rewrite ^/lastnews/page/([0-9]+)(/?)+$ /index.php?do=lastnews&cstart=$1 last; rewrite ^/catalog/([^/]*)(/?)+$ /index.php?catalog=$1 last; rewrite ^/catalog/([^/]*)/page/([0-9]+)(/?)+$ /index.php?catalog=$1&cstart=$2 last; rewrite ^/newposts(/?)+$ /index.php?subaction=newposts last; rewrite ^/newposts/page/([0-9]+)(/?)+$ /index.php?subaction=newposts&cstart=$1 last; rewrite ^/static/(.*).html(/?)+$ /index.php?do=static&page=$1 last; rewrite ^/favorites(/?)+$ /index.php?do=favorites last; rewrite ^/favorites/page/([0-9]+)(/?)+$ /index.php?do=favorites&cstart=$1 last; rewrite ^/rules.html$ /index.php?do=rules last; rewrite ^/statistics.html$ /index.php?do=stats last; rewrite ^/addnews.html$ /index.php?do=addnews last; rewrite ^/rss.xml$ /engine/rss.php last; rewrite ^/sitemap.xml$ /uploads/sitemap.xml last; if (!-d $request_filename) { rewrite ^/([^.]+)/page/([0-9]+)(/?)+$ /index.php?do=cat&category=$1&cstart=$2 last; rewrite ^/([^.]+)/?$ /index.php?do=cat&category=$1 last; } if (!-f $request_filename) { rewrite ^/([^<]+)/rss.xml$ /engine/rss.php?do=cat&category=$1 last; rewrite ^/page,([0-9]+),([^/]+).html$ /index.php?do=static&page=$2&news_page=$1 last; rewrite ^/print:([^/]+).html$ /engine/print.php?do=static&page=$1 last; } if (!-f $request_filename) { rewrite ^/([^/]+).html$ /index.php?do=static&page=$1 last; } Работает всё. Но есть одна проблема — при включенном контроле ЧПУ не работает пагинация в категориях, со страниц типа /category/page/2/ происходит 301 редирект на главную страницу категории /category/. При этом пагинация на главной /page/ работает. Кто подскажет как допилить конфиг, чтобы он устраивал контроль ЧПУ? Изменено 4 мая 2012 пользователем weiss Цитата Ссылка на сообщение Поделиться на других сайтах
weiss 4 Опубликовано: 7 мая 2012 Рассказать Опубликовано: 7 мая 2012 Автор Оказалось, что дело не в nginx. Убрал полностью конфиг из nginx, вернул файл .htaccess (у меня связка nginx+apache2), перезапустил всё, естественно, включаю обработку неверных URL ЧПУ — в результате та же ошибка, что и описана в первом посте. Да только теперь еще я заметил, что на страницах fullstory бесконечный 301 редирект на них самих. Выключаю контроль ЧПУ — всё нормально. Так происходит и когда реврайты делает и nginx, и apache2, без разницы. В первую очередь подумал, что у меня что-то не так с файлами движка, выполнил поиск по ним на предмет наличия seo_control, нашел нужный код в /engine.php и в /engine/modules/show.full.php, сравнил файлы с оригинальными — никаких отличий в этом блоке, show.full идентичен, в engine есть никак не связанные отличия (типа замены raquo на тире в title, в общем, мелочь). Не знаю, куда дальше копать. Кеши все чистил, естественно, и DLE, и APC даже. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 7 мая 2012 Рассказать Опубликовано: 7 мая 2012 восстанавливайте полностью все оригинальные файлы скрипта без исключения. Также убедитесь что файл .htaccess в корне сайта полностью соответствует оригинальному именно от вашей версии скрипта. Обратитесь к хостинг провайдеру для проверки работы модуля mod_rewrite для апача. Цитата Ссылка на сообщение Поделиться на других сайтах
weiss 4 Опубликовано: 7 мая 2012 Рассказать Опубликовано: 7 мая 2012 (изменено) Автор Все файлы движка правильные, проверил с помощью WinMerge, значит они исключаются. Конфиги реврайтов перепроверил тоже на 100 раз — они тоже правильные (и для apache, и для nginx). mod_rewrite работает, ngx_http_rewrite тоже работает (у меня VDS, там и другие сайты есть, использующие rewrite'ы, с ними все в порядке). Куда дальше копать непонятно. Изменено 7 мая 2012 пользователем weiss Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 7 мая 2012 Рассказать Опубликовано: 7 мая 2012 предоставьте доступ по FTP и к админпанели скрипта, я посмотрю визуально и скажу в чем причина. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.