Небольшая шпаргалка для самого себя, а может быть, и еще кому-то пригодится.
Исходные данные: В индексе Гугла и Яндекса есть как ссылки вида index.php?category=privet, так и ссылки вида /category/privet. Требуется “склеить” их таким образом, чтобы поисковики не предлагали переход на index.php?category=privet, только лишь на /category/privet.
Любой “несуществующий” URL обрабатывается CMS, находящейся по адресу /index.php – правила нужны лишь для поисковиков. Благодаря этому не будет зацикливания (иногда CMS преобразовывают URL вида /category/privet, наоборот, в /index.php?category=privet – в этом случае, будет зацикливание. Избежать его можно переменными окружения, или же использовать другой веб-сервер). Ну да зацикливание в правилах mod_rewrite – совсем другая история, достойная отдельной статьи или даже целой книги.
Могу лишь дать маленький, но очень ценный (на мой очень-очень скромный взгляд) совет: использование фреймворков или CMS, в которых роутинг целиком осуществляется в index.php (без учета GET параметров), – это очень здорово!
Пример: Kohana, Symfony, OnPHP. Из CMS – пожалуй, TextPattern.
Продолжить чтение "301 редирект с обычного URL на ЧПУ"