Я написал некоторый код в моем файле .htaccess, который позволяет использовать оптимизированные для SEO URL-адреса вместо уродливых строк запроса. Следующий код переписывает дружественную для SEO версию в браузере в версию строки запроса на сервере.
RewriteEngine On
RewriteRule ^seo/([^/]*)/$ /directory/script.php?size=large&colour=green&pattern=$1 [L]
Так, что уродливый
http://www.mysite.com/directory/script.php?size=large&colour=green&pattern=striped
Теперь прекрасна
http://www.mysite.com/directory/seo/striped/
Просто, чтобы немного объяснить код; seo
предназначен для добавления дополнительных ключевых слов к URL, /directory/
- это каталог, в котором находится файл .htaccess, параметры size=large
и colour=green
никогда не изменяются, в то время как pattern=$1
может иметь много разных значений.
Приведенный выше код работает отлично. Однако проблема в том, что я застрял с двумя URL-адресами, которые указывают на одно и то же содержимое. Чтобы решить эту проблему, я бы хотел, чтобы 301 перенаправил старые, уродливые строки запросов на URL, дружественные для SEO. То, что я пробовал до сих пор, не работает - и Google сегодня не особенно дружелюбен.
Кто-нибудь может предложить рабочий код для размещения в моем файле .htaccess, который перенаправляет некрасиво на новый URL, сохраняя при этом перезапись? Спасибо!