@Kostya00723

Как настроить дерикторию в htaccess?

Написал правила RewriteEngine

RewriteRule ^jump.php jump.php [L,QSA]
RewriteRule ^(.*) index.php [L,QSA]


Но происходит следующее:
когда страница обращается к одному из файлов (css,js..)
то по условиям запрос идет в корень
допустим файл
http://сайт/assets/js/underscore.map

не подключается к сайту, поскольку htaccess перебрасывает запрос с `assets` на index.php

как прописать условие, чтобы запросы содержащие /assets/ попадали именно в assets?

И посоветуйте что-нибудь почитать, чтобы разобраться с htaccess)
Желательно что-нибудь коротенькое и только по делу.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
1 коротенькое и по делу не получится. mod_rewrite работает достаточно специфично.
2. что почитать https://habrahabr.ru/company/sprinthost/blog/129560/

далее, вот это правило не сильно имеет смысл, что вы с него хотели сделать ?
RewriteRule ^jump.php jump.php [L,QSA]
а это правило перенаправляет все запросы на индекс
А L - работает не так как вы думаете.
RewriteRule ^(.*) index.php [L,QSA]
Насколько я понимаю это ваша попытка создать чпу

RewriteCond %{REQUEST_FILENAME} !-f
#! - отрицание , не файл
  RewriteCond %{REQUEST_FILENAME} !-l
# и не линка
  RewriteCond %{REQUEST_FILENAME} !-d
#  и не директория 
  RewriteCond %{REQUEST_FILENAME} !(.*)\.(css\|js\|html)$  
#   это прям если исключать по маске 
RewriteRule ^(.*)$ /index.php [L,QSA]
# после  любое количества cond идет rule  конды создают условия рул выполняет,
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы