Я пытаюсь создать 301 редирект с использованием .htaccess, чтобы исправить некоторые ошибки Crawler, с которыми сталкивается Google. Google использует старые версии некоторых из моих URL-адресов, что приводит к возникновению ошибок, когда паук пытается получить доступ к устаревшим путям. Эти устаревшие URL содержат пробелы, и их было много, и все они появлялись в разных местах в строке URL. Например, URL мог бы выглядеть так:
http://www.example.com/car-kits-halogen-aircon-oil/773 CAR 773-halogen-aircon-oil
Эти URL-адреса излишне длинные, тем более что в конечном итоге все они отображают идентичный контент. Теперь они сокращены до чего-то вроде этого:
http://www.example.com/773-halogen-aircon-oil
Существует буквально более 1000 из них, хотя имеется только 6 перестановок конца URL, поэтому я подумал, что мог бы использовать RedirectMatch или RewriteRule, чтобы легко сопоставить, существует ли одна из этих 6 перестановок, и перенаправить на соответствующий новый URL. Я пробовал следующее:
RedirectMatch .*/773[\s]?(%20)?CAR[\s]?(%20)?773-halogen-aircon-oil$ http://www.example.com/773-halogen-aircon-oil
а также:
RewriteEngine On
RewriteBase /
RewriteRule .*/773[\s]?(%20)?CAR[\s]?(%20)?773-halogen-aircon-oil$ http://www.example.com/773-halogen-aircon-oil [R=301,L]
Это не работает. Я пробовал много разных опций, в том числе экранирование пробелов символом \ вместо класса символов regex, изменение начала регулярного выражения на ^. * /? 773 и многие другие, но ничего не работает.
Я использовал функцию тестирования регулярных выражений в http://www.regular -expressions.info / javascriptexample.html , и он сообщает, что мое регулярное выражение является действительным, и генерирует совпадение с URL-адресами, которые я ожидаю, но .htaccess не перенаправляет, как я ожидаю.
Я могу использовать обычный Redirect следующим образом:
Redirect 301 "/car-kits-halogen-aircon-oil/773 CAR 773-halogen-aircon-oil" http://www.example.com/773-halogen-aircon-oil
Это работает, но это проблематично, потому что оно соответствует только при наличии car-kits-halogen-aircon-oil, и, вероятно, существует 200 перестановок этого URI-сегмента, что сделало бы ручной ввод каждой возможной перестановки огромным предприятием .
Есть предложения? Возможно ли то, что я пытаюсь сделать?