301 редирект после перезаписи URL - PullRequest
0 голосов
/ 25 мая 2011

я сделал несколько htaccess переписать URL. Чтобы сохранить свой рейтинг в 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: редирект 301 mypage.php? id = 1 http://www.domain.com/mypage-1.html но ничего не происходит, страница остается на continente.php? idc = 1.

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

Заранее спасибо Витторио

1 Ответ

1 голос
/ 25 мая 2011

Вы можете попробовать это:

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
...