- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть один сайт с минисайтами. На этом сервере стоит nginx и правила mod_rewrite:
RewriteCond %{HTTP_HOST} ^(.*)\.domen\.ua [NC]
RewriteRule ^(.*) http://domen.ua/mini/%1/$1 [P,L]
RewriteRule ^mini/(.*)/pages/([0-9]*)/$ /mini-site.php?site_name=$1&page_id=$2
RewriteRule ^mini/(.*)/$ /mini-site.php?site_name=$1 [L]
Суть такова. При наборе test.domen.ua/pages/1/ берем данные из domen.ua/mini-site.php?site_name=test&page_id=1
Но nginx почемуто уходит в рекурсию и возвращает:
2010/03/19 12:30:15 [info] 28488#0: *2101854 client sent too long URI while reading client request line, client: 62.149.23.35, server: domen.ua, request:
"GET /mini/test.domen.ua,%20test.domen.ua,%20test.domen.ua,%20test.domen.ua,%20test.domen.ua,%20test.domen.ua,%20test.domen.ua,%20test.domen.ua, ..."
Т.е. вместо "test" возвращает кучу "test.domen.ua"
RewriteCond %{HTTP_HOST} ^(.*)\.domen\.ua [NC]
RewriteRule ^(.*) http://domen.ua/mini/%1/$1 [P,L]
это - же бесконечный цикл, если я ничего не путаю
Вам нужно, чтобы при domen.ua/mini/ правило уже не работало...
небоИтесь, ща прибегут помогут. здесь много любителей (к коим я не отношусь) модреврайта =)))
это - же бесконечный цикл, если я ничего не путаю
Вам нужно, чтобы при domen.ua/mini/ правило уже не работало...
небоИтесь, ща прибегут помогут. здесь много любителей (к коим я не отношусь) модреврайта =)))
он должен работать, только в правило передается рекурсия с кучей имени домена, а должно только сам поддомен как указано в правиле.
На сервере без nginx работает, а с nginx и указанием во втором правили что нужно проксировать [P] не хочет. Если ставить [R=301] то работает но мне так не нужно.
conturov.net добавил 24.03.2010 в 18:15
Сделал вот так:
RewriteCond %{HTTP_HOST} ^(www.)?(.*)\.domen\.ua$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) ./mini-site.php?site_name=%2&path=$1 [L,QSA]
Путь пришлось ручками обрабатывать, а не mod_rewrite :(