Hide xfields from url : убираем xfsearch из адресной строки
Хак убирает xfsearch для страниц по всему сайту. Внимание: не нужно создавать доп поле с одинаковым альтернативным именем с категорий. Будет работать для перекрестных доп полей. Пример (было -> стало):
https://site.net/xfsearch/genre/rock/ -> https://site.net/genre/rock/
https://site.net/xfsearch/artist/v.tsoy/ -> https://site.net/artist/v.tsoy/
Установка:
1. Установить плагин через систему Управления плагинами.
2. Прописать правила (обязательно выше правил для категорий). Для NGINX (nginx.conf -> server location) найти:
rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last;
rewrite "^/([^.]+)(/?)+$" /index.php?do=cat&category=$1 last;
Добавить выше:
location / {
rewrite "^/(.*[\.]+.*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last;
rewrite "^/(.*[\.]+.*)/?$" /index.php?do=xfsearch&xf=$1 last;
}
Для APACHE2 (.htaccess) найти:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
Добавить выше:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[\.]+.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]
RewriteRule ^(.*[\.]+.*)/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
3. Убрать редиректы из .htaccess связанные с xfsearch:
RewriteRule ^xfsearch/(.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [B,L]
RewriteRule ^xfsearch/(.*)/?$ index.php?do=xfsearch&xf=$1 [B,L]
4. Завести переадресацию для старых xfsearch (допустим на главную), найти:
RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]
Добавить выше:
RewriteRule ^xfsearch/(.*)$ / [R=301,L]
или на новую страницу:
RewriteRule ^xfsearch/(.*)$ /$1 [R=301,L]
Редиректы добавляем для того, что бы работал xfsearch для значений с точкой. Все новые перекрестные доп.поля будут работать и не будут требовать добавления правила в .htaccess.
Готово!
• Кодировка: utf-8
• Автор: dj-avtosh
• Источник
Примечание от Oxigen: обновлены описания редиректов.
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.
Комментариев 1