301 редирект сайта

Только что закончил создание нового сайта для клиента, и структура URL-адресов старых сайтов была в основном /index.php?pageid=1, /index.php?pageid=2 и т. д.

Как сделать переадресацию на все старые страницы

Текущий сайт использует domain.com/blog-post, domain.com/contact и т. д.

Спасибо за помощь


person Brob    schedule 17.05.2011    source источник


Ответы (1)


В зависимости от количества страниц вам может подойти RewriteMap. хотеть:

RewriteMap oldtonew txt:/path/to/file/map.txt 
RewriteRule ^/index.php?pageid=([0-9]+) ${oldtonew:$1} 

содержимое map.txt:

1    /blog-post
2    /contact
3    /foo
4    /bar

Изменить

Если вы хотите только перенаправить все старые страницы на одну из новых, вам не нужно возиться с rewritemap:

RewriteRule ^/index.php?pageid=([0-9]+) /path/to/new/page
person Anders Lindahl    schedule 17.05.2011
comment
спасибо за информацию, раньше сайт был очень глубоким, поэтому я думаю, что картографирование было бы слишком большим. Мы надеялись просто перенаправить все предыдущие ссылки на домашнюю страницу, если это возможно. - person Brob; 17.05.2011
comment
@Brob: А, это намного проще. Обновил ответ другим примером. - person Anders Lindahl; 18.05.2011