Svah
@Svah

Как сделать редирект по нескольким фильтрам через .htaccess?

Сейчас настроен редирект с любой страницы на главную

.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule ^$index.html
RewriteRule ^([^.]+)$index.html


Задача в том, чтобы редиректить любой адрес, кроме определенных путей (папок)

Например не нужно редиректить папки, а именно открывать файлы по адресам:
domain/img/*
domain/video/*
Но редиректить все остальные вариации на главную
domain/*

Другими словами: к текущему варианту хотелось добавить как то исключения, где правило редиректа не срабатывало бы на главную страницу.
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{REQUEST_URI} !^domain/img/.*$
RewriteCond %{REQUEST_URI} !^domain/video/.*$
RewriteCond %{REQUEST_URI}  .....
RewriteCond %{REQUEST_URI}  и так далее, это  и если, и будет копиться условия до первого рула, ! - знак отрицания.
RewriteRule  а тут что должно произойти
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mafia8
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule ^$index.html
RewriteRule ^([^.]+)$index.html

Чтобы папки и файлы выдавало, как обычно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы