miketomlin

Рейтинг
235
Регистрация
04.12.2013
tommy-gung:
плотность пикселей

ОК, почитаю на досуге.

Anamnado, к слову. Когда-то достаточно давно я посещал ваш сайт. Обратил внимание, что он не адаптивный, а вы типа студия. Сказал «фи» и закрыл. Долго созревали. Но плюсую, что все-таки созрели. Лучше поздно, чем никогда :)

---------- Добавлено 17.01.2019 в 15:04 ----------

P.S. По-моему уже пора сделать более серьезное обновление, чем просто прикрутить адаптивность ;)

---------- Добавлено 17.01.2019 в 15:14 ----------

По сабжу: поддержка ширины 320 точек – это круто. На наших сайтах поддерживается. Еще как-то наши верстальщики мне втирали, что разрешение девайса по ширине и ширина страницы в точках – это не одно и то же, но я до конца этого не понял.

Он хочет рерайтить каждый адрес 🤪

---------- Добавлено 17.01.2019 в 14:38 ----------

GUZU, ссылки-то на страницах все равно останутся старыми. Лучше сразу натянуть на динамический каркас.

---------- Добавлено 17.01.2019 в 14:43 ----------

P.S. Для формирования ссылок лучше использовать спец. функцию, выполняющую «обратное связывание». Вдруг вы потом опять захотите поменять ссылки.

---------- Добавлено 17.01.2019 в 14:49 ----------

P.P.S. И я надеюсь, вы в курсе, что в плане SEO менять адресацию на работающем сайте самоубийственно. Только редирект может облегчить положение. Но делать редирект при переходе по внутренним ссылкам – идиотизм за редкими исключениями, т.е. ссылки на страницах сайта нужно по-любому править.

... !^www\.user1\.ru$ [NC]

...

То кол-во пунктов подменю для каждого пункта меню. Пока вы не присоедините пункты подменю, у вас не будет их parent_id.

---------- Добавлено 13.01.2019 в 14:17 ----------

...при условии WHERE `menutype` = 'main-menu'.

Рекурсия. Пункты меню/подменю хранятся в одной таблице.

mff, есть понятие роута (маршрута) с адресной маской, в которой может учитываться в том числе и строка параметров. Достаточно указать, что после ch= должно быть натуральное число, и первый вариант уже не будет подпадать под маршрут. На кол-во цифр тоже можно наложить ограничение в маске, чтобы даже не пытаться работать с такими большими числами. После «неудачного» обхода всех маршрутов роутер автоматом должен инициировать ошибку, дефолтная обработка которой должна заключаться в выдаче 404-ой. В моем примере выше я использовал простой REST-каркас. В REST используются достаточно простые и однообразные форматы адресов, поэтому может хватить и одной общей маски, отсеивающей явно некорректные адреса, например вот реальный фрагмент общей маски из используемого мной каркаса:

(\\?p=[1-9]\\d{0,9})?

Вопрос в конце означает, что подмаска в скобках описывает необязательную часть адреса, т.е. либо все, либо ничего: промежуточный вариант вроде p= некорректен по определению. Именно такие строгие правила помогают избавляться от разнообразных дублей. Вот можете поэкспериментировать с общей маской: http://g09.ru/gency-demo (только не меняйте первый слаг, чтобы оставаться в рамках данной демки, а просто дописывайте к нему доп. слаги и/или параметр p, например /gency-demo/test?p=9999999999).

mff:
Извините за глупые вопросы, просто хотелось узнать как другие бы поступили в данной ситуации.

Вариант 1 – не порождать дубли.

Вариант 2 – их закрывать (в роботс, указанием канонической и т.п.)

У вас первый, лучший, вариант, но кривоватый, т.к. придется ставить затычку в каждом частном случае. А я вот, к примеру, определил конкретные сущности (коллекцию статей и статью) в БД, «сказал», что мне нафиг не нужны параметры для отдельной статьи, и получил, что нужно: http://g09.ru/articles/my-first-article (дубли вроде ваших автоматом закрываются 404-ой, некоторые альтернативные тайпин адреса, например с тэйлинг слэшем, корректируются 301-ым редиректом). Но в принципе иногда нужно подтягивать и логику конкретного приложения, например при выводе коллекции (списка статей) я использовал такой код:


//меняем значение параметра 0<-->1
rotate01();
//отсеиваем некорректные значения параметра
if ($pn==0||$pn>$pc) error(404);
...

Что дает соотв. результат:

/articles – OK 200 – результат замены 0-->1 (0 – это когда нет параметра);

/articles?p=1 – Error 404 – результат замены 1-->0 и первого простого условия ($pn==0);

/articles?p=2 – OK 200;

/articles?p=100500 – Error 404.

Хотя, если вы сами не программируете, все это вам не оч. интересно 🍿

По сути это плата не за прикрепление домена/сам домен, а за использование конструктора, хостинг и т.п.

Альтернатива – заказать сайт, купить хостинг, переквалифицироваться в админа и т.п.

mff, первый адрес более вменяемый. Может, лучше наоборот?

---------- Добавлено 06.01.2019 в 15:09 ----------

mff:
А если там будет ?co=9 или ?co=100
Вместо 8 – маска ([1-9]\d*), а первая подстановка из условия обозначается %1.
Всего: 2534