Как перенаправить URL-адреса с идентификаторами, используя .htaccess

Мне нужно перенаправить трафик с:

example.com/profilepage.php?profileid=123456

в

example.com/profile-page.php?profileid=123456

Замечания: Единственное отличие — это новый дефис

Я попробовал несколько вариантов без удачи, в том числе

RewriteRule ^/?profilepage.php?profileid=([^/]+)/?$ /profile-page.php?profileid=$1 [L,QSA]

RewriteRule ^/?profilepage.php?profileid=([^/]+)/$ /profile-page.php?profileid=$1 [L,QSA]

RewriteRule ^/?profilepage.php?profileid=([^/]+) /profile-page.php?profileid=$1 [L,QSA]

Как вы можете видеть, я не уверен, что делать ПОСЛЕ профиля регулярного выражения

0

Решение

Попробуйте что-то вроде этого. Вы должны явно соответствовать QUERY_STRING

Проблемы:

1. Вы должны сопоставить строку запроса с %{QUERY_STRING}

2. Измените свое регулярное выражение от этого ([^/]+) в (\d+)

Замечания:

Убедитесь, что ваш соответствующий идентификатор находится в %1 вместо $1

Вы можете проверить это .htaccess Вот

RewriteEngine on

RewriteCond %{QUERY_STRING} ^profileid=(\d+)$
RewriteRule ^profilepage\.php$ /profile-page.php?profileid=%1 [L,R]
1

Другие решения

Не нужно проверять строку запроса, по умолчанию она остается неизменной.
Ты можешь использовать:

RewriteEngine on
RewriteRule ^profilepage\.php$ profile-page.php [NC,L,R=301]
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector