@Asen123

Как убрать GET из URL?

Добрый вечер, понимаю, что тема уже не новая, но всё же не могу найти ответа. Вот полный код htaccess:
"php_value upload_max_filesize 30M
php_value post_max_size 30M

php_value session.gc_maxlifetime 8640000
php_value session.cookie_lifetime 8640000
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteEngine On
RewriteRule ^5$ $1 [L,QSA]
RewriteCond %{HTTP_HOST} ^сайт.ру$ [NC]
RewriteRule ^(.*)$ https://сайт.ру/$1 [R=301,L]
php_value default_charset utf-8
AddType 'text/html; charset=utf-8' .html .htm .shtml"

Нужно, чтобы когда я переходил на: сайт.ру/q?example=1 было сайт.ру/q/example/1.
Буду рад помощи!
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 2
@dodo512
сайт.ру/q?example=1 было сайт.ру/q/example/1

RewriteCond %{QUERY_STRING} (?:^|&)(example)=(1)(?:$|&)
RewriteRule ^q$ https://site.ru/q/%1/%2? [R=301,L]

Ставить в начало файла.
Ответ написан
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{QUERY_STRING} (^|&)(.+)\=([0-9]{1,})($|&)
RewriteRule ^q$ /%2/%3? [L,R=301]


где (^|&)....($|&) - не важная штука
(.+) - любое больше чем 1 буква или цифра
([0-9]{1,})- любые цифры но не менее 1.
^q$ - то что было в урле до GET
%2 - вторая группа из RewriteCond - аналог $2 из RewriteRule
? - удалить гет параметры.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Sportmaster Lab Москва
от 150 000 до 300 000 ₽
Билайн (ВымпелКом) Новосибирск
от 120 000 до 160 000 ₽
12 авг. 2020, в 18:01
10000 руб./за проект
12 авг. 2020, в 17:43
100 руб./в час
12 авг. 2020, в 17:38
30000 руб./за проект