+0 000-000-00-00

Советы по настройке .htaccess

Как исключить конкретную директорию из зоны действия Rewrite в корневом .htaccess?

Положить в эту папку свой .htaccess с содержимым
RewriteEngine off

Еще варианты здесь

После переноса сайта на WP пришлось внести кое-какие изменения в htaccess, а именно:

RewriteEngine On
RewriteBase /

#Убираем ru/ из url
#RewriteCond %{REQUEST_URI} ^/ru/.*
#RewriteRule ^ru/(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

# Добавляем ru/
RewriteCond %{REQUEST_URI} !^/ru/
RewriteRule ^(.*)\.htm$ /ru/$1.htm [R=301,L]

#редирект html to htm
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ (/[^\ ]+)\.html\  [NC]
RewriteRule ^ %1\.htm [L,R=301]

#RewriteRule  ^(.*)\.html$  $1.htm [R=permanent] - так не работает

#Убираем index.htm из url
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.htm?\ HTTP/
RewriteRule ^(.*)index\.htm?$ /$1 [R=301,L]

#redirect для старого faq
RewriteCond %{QUERY_STRING} ^qid=79&catid=3$ [NC]
RewriteRule ^ru/faq/index\.htm$ /faq/stepeni-avtomatizatsii-generatorov.htm? [R=301,L]
RewriteCond %{QUERY_STRING} ^qid=56&catid=3$ [NC]
RewriteRule ^ru/faq/index\.htm$ /faq/pokupka-ustanovka-obsluzhivanie-obrudovaniya-solnechnyh-batarej.htm? [R=301,L]
RewriteCond %{QUERY_STRING} ^qid=57&catid=6$ [NC]
RewriteRule ^ru/faq/index\.htm$ /faq/termosifonnuyu-sistemu-solnechnogo-nagreva.htm? [R=301,L]
RewriteCond %{QUERY_STRING} ^qid=17&catid=3$ [NC]
RewriteRule ^ru/faq/index\.htm$ /faq/hochu-ustanovit-ibp-dlya-obespecheniya-avarijnogo-pitaniya-doma.htm? [R=301,L]
Последние строки - это переадресация раздела FAQ. Нужно прописывать все страницы вручную, а их там около 50. Скорее всего, придется писать скрипт прописывать переадесации в таблицу или отдельный файл.

Также, по-прежнему действует скрипт переадресации из папки /catalog в новый Интернет-магазин

Источники:

  1. htaccess - 47 наглядных примера серверного редиректа
  2. 20+ правил .htaccess

  3. 301 редирект: популярные шаблоны
  4. Волшебный файл .htaccess

     

    Опубликовано

    Menu