- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день,
nginx 7.67 + php-fpm
Ubuntu 10.10
Подскажите, как научить nginx переваривать кириллицу в строке запроса (GET)?
В частности запрос сервер получает через rewrite условие в собственном конфиге:
rewrite ^/kastingi_v_moskve_(.*) /index.php?action=castings&co=3159&ci=москва&p=$1 last;
выдаёт 404
без кириллицы работает.
Читал в доках, что надо установить кодировку в UTF-8
Но прописывание в
location / {
charset utf-8;
}
не помогло.
Если у вас есть опыт подобных манипуляций, поделитесь пожалуйста.
И ещё околотемный вопрос: у Апача можно перекинуть пользователя перманентным редиректом (302) на другой домен
Конструкция вида:
RewriteCond %{HTTP_HOST} ^server\.ru
RewriteRule ^(.*)$ http://www.server.ru/$1 [R=permanent,L]
То есть, что бы при заходе на server.ru переадресовывалось на www.server.ru
Как это условие может выглядеть для nginx?
Спасибо.
Не-ASCII символы нужно преобразовывать.
http://www.google.ru/search?client=safari&rls=en&q=escape+url&ie=UTF-8&oe=UTF-8&redir_esc=&ei=xmWTTZzbAZCTswbrsYzQBg
И ещё околотемный вопрос: у Апача можно перекинуть пользователя перманентным редиректом (302) на другой домен
Конструкция вида:
RewriteCond %{HTTP_HOST} ^server\.ru
RewriteRule ^(.*)$ http://www.server.ru/$1 [R=permanent,L]
То есть, что бы при заходе на server.ru переадресовывалось на www.server.ru
Как это условие может выглядеть для nginx?
Спасибо.
if ($host = server.ru)
{
rewrite ^/(.*)$ http://www.server.ru/$1 permanent;
}
asobakin добавил 30.03.2011 в 22:56
Перманент - это вообще 301.
302 - это просто редирект. (меняете permanent на redirect)
;8747215']Не-ASCII символы нужно преобразовывать.
http://www.google.ru/search?client=safari&rls=en&q=escape+url&ie=UTF-8&oe=UTF-8&redir_esc=&ei=xmWTTZzbAZCTswbrsYzQBg
Да, спасибо, разобрался
302 - это просто редирект. (меняете permanent на redirect)
Все верно, нужен перманентный 301, опечатался в первом посте.
Спасибо, работает.
ИМХО редирект лучше так:
listen ...;
server_name test.ru;
access_log off;
rewrite . http://www.test.ru$uri permanent;
}
т.е. отдельный вирт хост и реврайт чуть по-другому