мы застряли с переписыванием URL-адреса и перенаправлением 301 в .htaccesHtaccess перенаправить 301 URL Rewrite
На данный момент нашей InternetSite только получила один файл (index.php), который передавался в качестве переменных в категории ID для то покажите содержание этой категории.
Например: к категории Nr 4 вызывается с www.oursite.com/index.php?CATID=4 ссылка, которая показывает содержание категории «Карта-Франция» к категории Nr 5 вызывается с ссылка www.oursite.com/index.php?CATID=5, которая показывает содержание категории «карта-италия»
Всего у нас около 800 категорий.
Мы хотели бы переписать адреса таким образом, что будет отображаться название категорий: Например: www.oursite.com/map-france вместо www.oursite.com/index.php?CATID=4 www.oursite.com/map-italy вместо www.oursite.com/index.php?CATID=5
лучшая идея в настоящее время является использование функции mod_rewrite в .htacces
Нам удалось до сих пор для достижения этого со следующим кодом:
RewriteEngine On
RewriteRule ^map-france/?$ index.php?CATID=4 [NC,L]
RewriteRule ^map-italy/?$ index.php?CATID=5 [NC,L]
Это работает pefectly.
Чтобы избежать двойной индексации из поисковых систем, мы также должны применить перенаправление 301 от старых URL-адресов к новым. Нам удалось сделать это с помощью следующего кода:
RewriteCond %{QUERY_STRING} CATID=4
RewriteRule ^index\.php$ http://www.oursite.com/map-france/? [L,R=301]
RewriteCond %{QUERY_STRING} CATID=5
RewriteRule ^index\.php$ http://www.oursite.com/map-italy/? [L,R=301]
Если мы все вместе это не работает, и это, кажется, генерировать бесконечный цикл перенаправления
Что мы делаем не так?
Большое спасибо за вашу помощь :)
Спасибо, Джон, вы здорово! который решил проблему :) – user3066113
Решение, предложенное выше, работает только с CATID с одной цифрой. CATID = 24 считывается как CATID = 2 и перенаправляется в категорию 2 Как мы можем решить эту проблему? – user3066113