На моем веб-сайте есть несколько страниц, на которые можно попасть по двум URL-адресам:
Чтобы оптимизировать веб-сайт для поисковых систем, я должен перенаправить все URL-адреса ... / страницы на ... / URL-адреса параметров / страниц.
Как я могу достичь этого, изменив файл .htaccess?
Чтобы перенаправление выполнялось с желаемым поведением, реализуйте правило перезаписи, подобное приведенному ниже:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/(special|cases|which|should|be|excluded)/) [NC]
RewriteRule /(.*) http://www.example.com/parameter/$1 [L,R=301]
Решение более конкретной проблемы, упомянутой в Комментарии (т. е. перенаправление всех страниц, не имеющих определенного контекста, на использование контекста 'en') было бы похоже на следующую перезапись:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/(en|it|de|fr)/) [NC]
RewriteRule /(.*) http://www.example.com/en/$1 [L,R=301]
Обратите внимание, что любые дополнительные языковые каталоги, к которым правило перезаписи не должно применяться, необходимо будет добавить в предложение escape в RewriteCond.
Кроме того, как только это будет выполнено, на Apache необходимо будет выпустить изящный код, чтобы принять изменения.