Пожалуйста, посмотрите следующие три URL
1)www.example.com/product/anystring/
2)www.example.com/product/selected/
3)www.example.com/product-all/
Здесь разрешенный URL-адрес для продукта - www.example.com/product/selected/ с элементом я бы. Таким образом, разрешенный URL для продукта похож на www.example.com/product/selected/?id=1, www.example.com/product/selected/?id=2, www.example.com/product/selected/?id=3 и т. д.
поэтому, пожалуйста, посмотрите первый URL-адрес www.example.com/product/нить/.
Итак, здесь после продукта идет / строка. Так что это не разрешено.
поэтому, если кто-то войдет на www.example.com/product/anystring/, мне нужно будет перенаправить на www.example.com/product-all/. Как я могу это сделать?
Пример
1) www.example.com/product/selected/?id=3 (no redirection needed )
2) www.example.com/product/selected/?id=14 (no redirection needed )
3) www.example.com/product/selected/?id=24 (no redirection needed )
4) www.example.com/product/test/ need redirection to www.example.com/product-all/
5) www.example.com/product/pen/ need redirection to www.example.com/product-all/
6) www.example.com/product/apple/ need redirection to www.example.com/product-all/
Но дело не только в тесте, а в любой строке, которая не содержит / selected /? Id = *





Вы можете использовать это правило как главное правило:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^product/[\w-]+)/?$ /product-all/ [L,NC,NE,R=301]
# other rules go here
поэтому для этого www.example.com/product/selected/?id=3 (перенаправление не требуется). все будет хорошо ?
Вы проверяли на своем веб-сайте?
Вы можете добавить эти правила в свой файл
.htaccess. Пример:RewriteRule ^/product/test/ /product-all/ [R=301,QSA,L]