kir_pich

kir_pich
Рейтинг
124
Регистрация
09.07.2006
Должность
bitrix разработчик
angel57:
Чтобы эти картинки в сниппет справа попали, что-то нужно делать или оно само? Микроразметку там может?

совокупность внутренних факторов и как итог выводится.

тут больше другое парит, что долго может не показываться, а потом хлобысь и куча сразу вываливается.

PS- не знаю как у других, у меня выводятся именно картинка товара.

преждевременная панико была, некоторые отвалились а некоторые появились =)

png img_snipet2.png

Всё зависит от того человека кому так сказать хочешь помочь и от того какая тебе в этом выгода на будущее!

Через социалки и группу в вк связанные с хромом.

ап, (10 турбоскакальных апоф)

jkm:
Правило для ЧПУ, которое направляет запросы на /bitrix/urlrewrite.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]


Порядок следования правил имеет значение.
Редиректы должны быть записаны раньше правила для ЧПУ.

Как Вы и написали, поставил ранее битриксовых редиректов, но увы не работает.

Сайт ни как не реагирует, может я что-то накосячил:

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond $1/$2 "(?x)(\
gde-kupit-saiding |\
kupit-fasadnye-paneli |\
kupit-vodostoki |\
prochee )\
[^/]* / .*? (\
centralnii-federalnii-okrug |\
dalnovostoschii-federalni-okrug |\
uralskii-federalnii-okrug )"
RewriteCond "%1/%2 $1/$2" !^(\S+)\s\1$
RewriteRule ^pred/([^/]+)/([^/]+)/$ /pred/%1/%2/ [R=301,L]
</IfModule>

в хтаксесе только это.

jkm:
По поводу ограничения в 150 строк. А если не запихивать весь список из сотни адресов в одно правило, а разделить его на несколько правил. По полсотни на каждый RewriteRule.

Мужик, памятник тебе при жизни надо поставить.

Разбил и всё работает, даже отклик сервака стал быстрее о_О

jkm:

Директива RewriteMap не работает в файле htaccess. Она может использоваться только в контексте server config, <VirtualHost>.
Так что для её примененения нужен доступ к файлам конфигурации веб-сервера (httpd.conf)

Хоть и есть доступы к конфигам (вроде), но, вот в эти дебри точно не полезу.

Ковырялся с настройками, и вылез ещё 1 прикол, ограничение на количество строк/правил всего 150.

Возможно-ли данный массис реализовать через Rewritemap ?

Если да, то как правильней это будет сделать?

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond "\

RewriteMap real-to-user txt:/pred/map.txt

@%{THE_REQUEST}" ^(?:(\S++)\s+=\s+(\S+)\s+([^@]*+@\S++\s(?!\2)\S+\1)?)++(?(3)|(?!))

RewriteRule ^ %2 [R=301,L]

</IfModule>

В такой вариации?

Правильный тип адреса: /gde-kupit-saiding_keyword/

неправильный: /какое-то_левое_слово_keyword_какое-то_левое_слово/

то-есть, практически любой текст в урл может быть вокруг keyword и гуано скрипт выдаёт страницу и ответ 200.

физически на сайте есть путь /pred/ а далее все подкаталоги и адреса типа

gde-kupit-saiding/centralnii-federalnii-okrug/

kupit-fasadnye-paneli/centralnii-federalnii-okrug/

kupit-vodostoki/centralnii-federalnii-okrug/

prochee/centralnii-federalnii-okrug/

генерятся 1 файлом.

Впринципе, возможно ли указать допустим с начала - определение подраздела а потом уже непосредственно самой страницы?

типа:

RewriteCond "\
RewriteCond %{QUERY_STRING} gde-kupit-saiding
centralnii-federalnii-okrug = /gde-kupit-saiding/centralnii-federalnii-okrug/ \
@%{THE_REQUEST}" ^(?:(\S++)\s+=\s+(\S+)\s+([^@]*+@\S++\s(?!\2)\S+\1)?)++(?(3)|(?!))
RewriteRule ^ %2 [R=301,L]


RewriteCond "\
RewriteCond %{QUERY_STRING} kupit-fasadnye-paneli
centralnii-federalnii-okrug = /kupit-fasadnye-paneli/centralnii-federalnii-okrug/ \
@%{THE_REQUEST}" ^(?:(\S++)\s+=\s+(\S+)\s+([^@]*+@\S++\s(?!\2)\S+\1)?)++(?(3)|(?!))
RewriteRule ^ %2 [R=301,L]


RewriteCond "\
RewriteCond %{QUERY_STRING} kupit-vodostoki
centralnii-federalnii-okrug = /kupit-vodostoki/centralnii-federalnii-okrug/ \
@%{THE_REQUEST}" ^(?:(\S++)\s+=\s+(\S+)\s+([^@]*+@\S++\s(?!\2)\S+\1)?)++(?(3)|(?!))
RewriteRule ^ %2 [R=301,L]


RewriteCond "\
RewriteCond %{QUERY_STRING} prochee
centralnii-federalnii-okrug = /prochee/centralnii-federalnii-okrug/ \
@%{THE_REQUEST}" ^(?:(\S++)\s+=\s+(\S+)\s+([^@]*+@\S++\s(?!\2)\S+\1)?)++(?(3)|(?!))
RewriteRule ^ %2 [R=301,L]



---------- Добавлено 28.12.2015 в 12:19 ----------

в типе

keyword = /pred/gde-kupit-saiding_keyword/ \

@%{THE_REQUEST}" ^(?:(\S++)\s+=\s+(\S+)\s+([^@]*+@\S++\s(?!\2)\S+\1)?)++(?(3)|(?!))

RewriteRule ^ %2 [R=301,L]

Всё работает на ура!!!

Но тут вылазит 1 минуc - все адреса где встречается keyword редиректит на в 1 место (то-есть есть 4 адреса с вхождением и перекидывает на тот который написан в правиле) (собственно не удивительно)

Если ставлю такую вариацию кейворда saiding_keyword - получаю ответ 500 =))))

saiding_keyword = /pred/gde-kupit-saiding_keyword/ \

@%{THE_REQUEST}" ^(?:(\S++)\s+=\s+(\S+)\s+([^@]*+@\S++\s(?!\2)\S+\1)?)++(?(3)|(?!))

RewriteRule ^ %2 [R=301,L]

Всего: 148