Вам нужно конкретно ЧПУ с mod_rewrite? В админке есть вариант и без него.
И у Вас на сервере ТОЛЬКО nginx? Так очень редко делают. Обычно динамику оставляют на апатч, а на раздачу статики вешают nginx. В таком случае все ровно надо прописывать все в .htaccess.
С только nginx'ом опыта к сожалению не имел, так, что помочь не смогу....
Есть nginx, работает как фронтэнд, то правила переписывать не надо. Вы замучаетесь с перепиской правил для каждого движка. У меня это реализовано например так:
PHP код:
server { listen Адрес_сервера:порт; server_name Домены сайта; location / { proxy_pass Адрес_сервера:порт/; proxy_redirect Адрес_сервера:порт/ /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~* ^.+.(jpg|jpeg|gif|png|js|css)$ { root полный путь до папка с сайтом; access_log Полный путь до лого сайта; }
При этом я не создаю все это сам для каждого нового сайта, а это делается автоматически панелью ISPmanager.
Да я бы и не хотел правила переписывать конфиг nginx (да, они того вида, что вы указали). Но обычный .htaccess дает 500 ошибку, по какой причине не пойму... mod_rewrite включен. На форуме комовском встретил вариант с переписью nginx, вот и попробовал, правда и он не работает)))
Да я бы и не хотел правила переписывать конфиг nginx (да, они того вида, что вы указали). Но обычный .htaccess дает 500 ошибку, по какой причине не пойму... mod_rewrite включен. На форуме комовском встретил вариант с переписью nginx, вот и попробовал, правда и он не работает)))
Смотрите в логах, там по идее должны быть написана причина ошибки.
На других скриптах все ок?
У меня форум стоит как раз на связке апач+nginx при чем сам добавлял nginx в качестве фронтенда. Никаких новых правил под него писать не надо, это остается у апача. Просто прописать настройки хоста у nginx чтобы он апачу передавал и все... Апачу отдал порт 8080, а nginx оставил на 80
Вот моя настройка. nginx:
a_n_d_y, спасибо за помощь) Но nginx с апачей у меня спокойно работает и проблем с ним не возникает (настроено все так как вы и пишите). Загвоздка видимо с mod_rewrite, не могу сделать красивые урлы... С другими машинками (drupal, mt) вопрос решается без вмешательства в nginx, но тут выдается 500-я ошибка... Вот я и подумал, что может своя специфика есть с рерайтами у vBulletin) Буду копать разные версии .htaccess
adev добавил 20.01.2010 в 17:20
Нда, неверно я поставил вопрос. Отключил nginx ради частоты эксперимента — не помогло) штудирую дальше булку.ком, может найду способ правильно сделать htaccess
adev добавил 20.01.2010 в 17:47
Нашел решение!
Собака зарыта в версии apache. У меня стоит 1.3, которая не читает регулярные выражения. Цитата отсюда
Цитата:
This error occurs due to that apache 1.3 uses POSIX ERE and apache 2.x uses REGEX. The errors is specifically in the non-capturing clusters "(?: exp)" which is not supported by POSIX ERE or apache 1.3