Как настроить редирект с https://site.ru/category/?SMARTY_DEBUG на https://site.ru/category/ ?
Я пробовал использовать несколько вариантов, но ни один из них не работает или редиректит на /index.php. Вот примеры правил, которые я использовал:
1. RewriteCond %{QUERY_STRING} ^(SMARTY_DEBUG)
RewriteRule ^(.*)$ https://site.ru/category/ [R=301,L]
2. RewriteCond %{REQUEST_URI} /dealers/?SMARTY_DEBUG
RewriteRule ^(.*)$ https://%{HTTP_HOST}/category/ [R=301,L]
3. RewriteCond %{QUERY_STRING} ^SMARTY_DEBUG
RewriteRule ^.*$ https://site.ru/category/ [R=301,L]
Можете ли вы помочь мне понять, что я делаю не так и предложить правильное правило редиректа?
В вашем случае вы хотите перенаправить URL с параметром "SMARTY_DEBUG" на URL без этого параметра, используя метод GET.
Вот правило редиректа, которое должно работать для вас:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^SMARTY_DEBUG$
RewriteRule ^category/$ /category/? [R=301,L]
Это правило будет перенаправлять все запросы к URL https://site.ru/category/?SMARTY_DEBUG на URL https://site.ru/category/ без параметра "SMARTY_DEBUG".
Обратите внимание на использование `?` в конце второй строки, после `/category/`. Это необходимо, чтобы удалить параметр из URL.
Убедитесь, что вы добавили это правило в файл .htaccess на сервере и перезагрузили настройки сервера после внесения изменений.
RewriteEngine On
Примените это правило для включения модуля RewriteEngine.
RewriteCond %{QUERY_STRING} ^SMARTY_DEBUG$
Проверьте, содержит ли строка запроса значение "SMARTY_DEBUG". RewriteRule ^(.*)$ https://site.ru/$1? [R=301,L]
Если условие выше выполняется, перенаправьте весь запрос на https://site.ru/ без параметров запроса с использованием статусного кода 301 и прекратите обработку дальнейших правил.