2013-10-24 3 views
0

Мне нужно перенаправить несколько URL-адресов в нескольких разных категориях с помощью htaccess. Текущая структура;Использование htaccess для перенаправления запросов URL-адресов

.com/категория/подкатегория/product.html QueryString = 123

И мне нужно все версии строки запроса URL для перенаправления;

.com/product.html

Я не против написать несколько строк для нескольких категорий, но есть 1000-вариаций и строки запроса не может написать все из них.

У кого-нибудь есть идеи?

ответ

0

Попробуйте добавить это в файл Htaccess в корневом каталоге:

RewriteEngine On 
RewriteCond %{QUERY_STRING} (^|&)querystring=123(&|$) 
RewriteRule ^category/subcat/product\.html$ /product.html? [L,R=301] 

Что касается изменений, если это только вопрос другого числового идентификатора, то вы можете использовать:

RewriteCond %{QUERY_STRING} (^|&)jewelry_(metal|carat|colour|clarity)=[0-9]+(&|$) 

Если часть «продукт» должен быть переменной, а затем заменить строку с правилом с:

RewriteRule ^category/subcat/(.+)\.html$ /$1.html? [L,R=301] 

Если «категории» и «подкатегорию» может быть что угодно, то:

RewriteRule ^[^/]+/[^/]+/(.+)\.html$ /$1.html? [L,R=301] 
+0

Спасибо за ответ строка запроса является не только численное значение вся строка может измениться, и мне нужно, чтобы приспособить для этого. Мне нужно сохранить /product.html то же самое, но вы хотите использовать этот htaccess для всех продуктов, например, /product1.html и /product2.html и т. Д. –

+0

@ user2267784 Вы говорите, что строка запроса может быть чем угодно? И если есть строка запроса вообще, перенаправляйте? –

+0

Да, поэтому текущая строка запроса на продукте? Jewelry_metal = 324 & jewelry_carat = 2 & jewelry_colour = 276 & jewelry_clarity = 261, но это может изменить порядок, цифры, а не все запросы. Поэтому мне нужно /products23.html?jewelry_metal=324&jewelry_carat=2&jewelry_colour=276&jewelry_clarity=261 и варианты перенаправления на /products23.html –

Смежные вопросы