301 перенаправление после перезаписи URL-адреса

77
7

Я переписал URL-адрес htaccess. Чтобы сохранить рейтинг Google, я должен перенаправить старый URL-адрес на новый; проблема в том, что старый url все еще существует, и я не уверен, как сделать перенаправление. Это пример:


старый url: mypage.php? id = myId
который теперь переписан как: mypage-myId.html


это директива htaccess


RewriteRule ^ mypage - ([A-Za-z0-9 _-] +). html $mypage.php? id = $1 [L]


теперь я хочу 301 перенаправить весь старый url (mypage.php? id = myIds) на новый url (mypage-myIds.html).
Я попробовал это в верхней части моего файла htaccess:
redirect 301 mypage.php? id = 1 http://www.domain.com/mypage-1.html
но ничего не происходит, эта страница остается на континенте .php? idc = 1.


Что с этим связано? Я нашел еще одно сообщение об этой проблеме
переписать и перенаправить вопрос
но решение было не так ясно.


Спасибо заранее
Витторио

спросил(а) 2021-01-25T19:51:54+03:00 4 месяца, 2 недели назад
1
Решение
63

Вы можете попробовать следующее:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^id=([A-Za-z0-9_-]+)$ # fetch ID
RewriteRule ^mypage\.php$ http://domain.com/mypage-%1.html [R=301,L] # redirect old URL to new

RewriteRule ^mypage-([A-Za-z0-9_-]+)\.html$ mypage.php?id=$1 [L] # rewrite

ответил(а) 2021-01-25T19:51:54+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема