jkm: По поводу ограничения в 150 строк. А если не запихивать весь список из сотни адресов в одно правило, а разделить его на несколько правил. По полсотни на каждый RewriteRule.
Мужик, памятник тебе при жизни надо поставить.
Разбил и всё работает, даже отклик сервака стал быстрее о_О
jkm:
Директива RewriteMap не работает в файле htaccess. Она может использоваться только в контексте server config, <VirtualHost>.
Так что для её примененения нужен доступ к файлам конфигурации веб-сервера (httpd.conf)
Хоть и есть доступы к конфигам (вроде), но, вот в эти дебри точно не полезу.
Но тут вылазит 1 минуc - все адреса где встречается keyword редиректит на в 1 место (то-есть есть 4 адреса с вхождением и перекидывает на тот который написан в правиле) (собственно не удивительно)
Если ставлю такую вариацию кейворда saiding_keyword - получаю ответ 500 =))))
Чтобы эти картинки в сниппет справа попали, что-то нужно делать или оно само? Микроразметку там может?
совокупность внутренних факторов и как итог выводится.
тут больше другое парит, что долго может не показываться, а потом хлобысь и куча сразу вываливается.
PS- не знаю как у других, у меня выводятся именно картинка товара.
преждевременная панико была, некоторые отвалились а некоторые появились =)
Всё зависит от того человека кому так сказать хочешь помочь и от того какая тебе в этом выгода на будущее!
Через социалки и группу в вк связанные с хромом.
ап, (10 турбоскакальных апоф)
Правило для ЧПУ, которое направляет запросы на /bitrix/urlrewrite.php
Порядок следования правил имеет значение.
Редиректы должны быть записаны раньше правила для ЧПУ.
Как Вы и написали, поставил ранее битриксовых редиректов, но увы не работает.
Сайт ни как не реагирует, может я что-то накосячил:
в хтаксесе только это.
По поводу ограничения в 150 строк. А если не запихивать весь список из сотни адресов в одно правило, а разделить его на несколько правил. По полсотни на каждый RewriteRule.
Мужик, памятник тебе при жизни надо поставить.
Разбил и всё работает, даже отклик сервака стал быстрее о_О
Директива 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 %{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]