Всем привет!
Извиняюсь за возможно тупой вопрос, но кто делает 301 Moved Permanently редирект, перенаправляя с без слеша в конце URL на тот же URL со слешем в конце.
Это движок WordPress или веб-сервер?
И вообще это как считается правильное решение, что-то тока сейчас обратил внимание?
http://nginx.org/ru/docs/http/ngx_http_core_module.html#locationпоследний абзац раздела.
Сайт на opencart 2.3. Ссылка на ресурс.
Настроен Adwords - клики есть. В сутки это около 20-25 переходов. Траты 500 грн/сутки. А продаж практически нет - 1-2 в неделю.
Хочу понять что с ресурсом не так? Может реально стоит перейти на движок 3.0, и поставить современную тему? Например такую. Что не нравится людям когда на него переходят?
1) Переключение языков "работает" на 30% - при выборе RU появляется помесь, которая указывает на небрежность при создании сайта. Лучше вообще убрать ru, чем делать как сейчас. Небрежность в создании сайта указывает на небрежность в работе вообще - ухожу с такого сайта.
2) При выборе меню "обслуживание" я как бы попадаю на другой сайт - ни шапки меню, ни выдержанного стиля. Как мне вообще отсюда работать с сайтом дальше непонятно - ухожу с такого сайта.
3) Я как покупатель кондиционера хочу получить всё в одном флаконе - покупку, доставку, установку и гарантию и на покупку и на установку - если это и есть на сайте, то я этого визуально не наблюдаю - ухожу с такого сайта.
4) Вранье в описании "Очень тихая работа, уровень шума всего 29 дБА;". Тихая - это 24, очень тихая - это 19-20. А 29 - это очень громкая работа. Непонимающий купит/послушает и потом сарафанное радио разнесёт, что сайт жульнический - ухожу с такого сайта.
5) Самое яркое на странице - это отсылка к озонобезопасному фреону (аж 2-мя цветами выделено). А вот шума внешнего блока не обнаружил. А по внутреннему хотел бы вообще знать все ступени шума. Я хоть и забочусь об экологии, но это явно не основная проблема при выборе кондиционера - ухожу с такого сайта.
6) Отзывы (разумеется все положительные) о продаваемом кондиционере на сайте который их продаёт - ложь, пи...жь и т.п. - ухожу с такого сайта.
Ничего личного, просто недавно покупал кондиционеры. :)
на счёт того, что это не оптимально, не соглашусь, я думаю ТС будет обрабатывать на бэкенде, а не налету, а раз так, то и особо заморачиваться со скоростью работы не стоит, главное, чтобы помогало в работе
Я не про скорость в данном случае (хотя и про неё тоже), а про дальнейшее сопровождение кода и то, что регулярки - это самый простой способ выстрелить себе в ногу.
В любом случае сплиты и т.п. существенно быстрее, надёжнее и читабельнее.
Я лет 15 назад админил большой проект с 1000+ разных сайтов и их конфиги nginx хранились в виде файлов. Довольно часто в них нужно было вносить групповые правки. Вместо того чтобы сделать систему для хранения конфигов в БД и формировать их при необходимости я их "правил" регулярками с помощью grep, sed и awk. 6 лет это всё обрастало дикими regexp'ами c Backreferences, POSIX-классами и разными вариациями Extended- и PCRE- синтаксисов. И когда пришло время передать это другому админу, я понял, что и сам давно не понимаю как это работает.
С тех пор у меня от них глаз дёргается :)
Прям вау! спасибо!
Поймите - это всё из области ненормального программирования. Регулярки - это зло. Стремитесь от них избавиться везде, где есть возможность.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте ©
Интересный ход с незахватываемым "[A-Z][A-Za-z\s \.]"
Только стоимость жутко выросла.
Вложенный незахватываемый блок не нужен - получаем вложенный match, который вообще не используется, лучше заменить символьным классом.
ИЛИ также лучше заменить на символьные классы - сложность их раскрытия много меньше альтернативной ветки.
[\s ]* - избыточность, хотя интерпретатор должен сам её устранить
https://regex101.com/r/R43vAB/1
Понизили стоимость с 4361 до 1275.
My bad)) Я убрал экоанирование точки - прочитал что в скобках оно не нужно, но после этого поломалось. И еще - этот паттерн подразумесает любые повторения слов - : word, word, Word word;
а можно сделать так чтоб не более 3-х слов попадало и только если кэпитал леттер? То есть:
New York, NY, USA ;- попало
New York, Florida, NY, USA; - не попало
new york, NY, usa; не попало
Заглавная буква проверяется и в обычном варианте https://regex101.com/r/F2WzQJ/1 и с опережающей проверкой https://regex101.com/r/3IfTHj/1
А вот с учётом 3-х запятых... Теоретически можно, но это будет либо две тернарки, либо 2 ИЛИ. Стоимость исполнения вырастет катастрофически. Может какие-то вариации комбинирования опережающих проверок с тернаркой, но тоже будет очень сложная конструкция.
Даже пытаться не стану - да уже за те варианты которые предложены выше надо отрывать руки - в продакшине такому не место.
Как альтернативный вариант - https://regex101.com/r/7S9KSB/1
Результат должен быть примерно тот же, но запрос будет более ресурсоёмким за счёт дополнительной опрежающей проверки.
Выборка будет без подгрупп, но с "концевыми" знаками препинания и пробелом.
споткнулось на таком :
"Note: Google’s hybrid workplace includes remote roles.
Remote location: Brazil."
Также проблем не вижу.
https://regex101.com/r/xgPrvA/1
14 и 17 выборки.
Может какие-то спецсимволы есть в исходном тексте?
Note: By applying to this position you will have an opportunity to share your preferred working location from the following: New York, NY, USA; San Francisco, CA, USA.
результат:By applying to this position you will have an opportunity to share your preferred working location from the following; New York, NY, USA; San Francisco, CA, USA
Вообще проблем не вижу (15, 16 выборки) - https://regex101.com/r/6hfgak/1
Но, в целом, для снижения false positive лучше сделать так - https://regex101.com/r/yNZTpQ/1
Числа экспериментально подберите.
Я к сожалению не могу полагаться на "locations", нет гарантии что это скрипт а не контентщик) А в таком случае мне может прилететь "locations, lacations, lacotion" etc ))) Я вообще не могу на текст полагаться, только на шаблон, что будет что то типа [city, state, country[,;]], причем в словах могут быть точки и пробелы - Vashingthon D.C.
Ну таки если нельзя полагаться на текст, то остаётся только пунктуация
https://regex101.com/r/KCVie5/1
Но при таком подходе сплит однозначно лучше регекспа.