- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую всех!
Столкнулся с проблемой реализации условия для modrewrite.
Задача: Если первый элемент адреса URL является названием города из списка городов, перенаправить запрос типа:
на
Это хорошо работает, если написать такой код в .htaccess
RewriteRule ^([a-z0-9-]+)/(.+)$ /$2?region=$1 [R,L]
Однако, список городов довольно громоздкий (более 3 тыс.), поэтому я решил пойти другим путем...
Я хочу перенаправлять ВСЕ запросы, за исключением тех, что не являются городами (список таковых значительно короче)... поэтому я попытался написать так:
RewriteRule ^([a-z0-9-]+)/(.+)$ /$2?region=$1 [R,L]
(что по моему мнению, должно было работать так же, ибо все, что я поменял - поставил НЕ (знак !) перед списком)...
Но работать "как надо" не хочет :)
Почему-то "видит" только два последних параметра, например /verona/cat/subcat редиректит на /subcat?region=cat,
чем вводит меня в ступор... Кто может подсказать?
попробуйте убрать крышку
потому что в %{REQUEST_URI} также еще может находится (и находится метод)
RewriteCond %{REQUEST_URI} [A-Z]{3,}\sа здесь уже входящая строка запроса
После редиректа новый адрес начинается на /cat/ и снова подходит под условие !^/(help|contacts|about)/
/verona/cat/subcat -> /cat/subcat?region=verona -> /subcat?region=cat
Можно дополнительно проверять %{QUERY_STRING} на наличие region.
jkm, спасибо большое! Все верно!