перенаправление технических ссылок на SEO-ссылки

У меня есть файл карты, который отлично работает с оптимизированными для SEO URL-адресами.

Теперь клиент хочет, чтобы пользователю не был разрешен доступ к техническим ссылкам, что означает, что должны быть доступны только SEO-ссылки.

например, мой файл карты выглядит так

buche-massiv-weiss-lackiert.html /?page=datail&productid=1212

на данный момент SEO работает, но мне нужно, чтобы пользователь вызывал эту техническую ссылку, т.е.

/?page=datail&productid=1212

if также должен быть сначала перенаправлен на SEO-ссылку, а затем должна быть вызвана страница.

что будет лучшим способом сделать это?


person user3733648    schedule 16.06.2016    source источник


Ответы (2)


В том же файле сопоставления добавьте обратные записи, например:

/?page=datail&productid=1212 buche-massiv-weiss-lackiert.html

Затем добавьте это правило вверху вашего htaccess для перенаправления на красивый URL:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/*(/.*?)\sHTTP [NC]
RewriteCond %1::${mymap:%1} ^(.*)::.
RewriteRule .* ${mymap:%1}? [L,NE,R=301]

Предполагается, что имя вашего RewriteMapmymap. Измените его на любое имя вашей карты.

person anubhava    schedule 16.06.2016

С Helicon Ape вы можете использовать обратную карту в том же файле карты, например:

RewriteEngine On
RewriteMap map_rev txt_rev:my_map_file.txt [NC]
RewriteCond ${map_rev:$1|NOT_FOUND} (.*)
RewriteCond %1 !NOT_FOUND 
RewriteRule (.+) %1 [R]

Затем ваше существующее правило карты. С ISAPI_Rewrite вам придется создать еще один файл обратной карты и убедиться, что содержимое обоих файлов синхронизировано. Использование примерно такое:

RewriteEngine On
RewriteMap map_rev txt:my_rev_map_file.txt [NC]
RewriteCond ${map_rev:$1|NOT_FOUND} (.*)
RewriteCond %1 !NOT_FOUND 
RewriteRule (.+) %1 [R]
person Yaroslav    schedule 18.06.2016