#.htaccess #mod-rewrite
#.htaccess #перезапись мода
Вопрос:
У меня есть подкаталог на моем локальном хостинге
Там есть файл .htaccess
RewriteEngine On
RewriteBase /buyback/
RewriteCond %{REQUEST_URI} !^/static/*$ [NC]
RewriteRule ^(.*)$ index.php
Все остальные функции работают, только RewriteCond не работает
index.php имеет код
<script type="text/javascript" src="/static/js/modal.js"></script>
который не загружается. И я, кажется, не могу понять, в чем проблема.
Комментарии:
1. Каков пример URL-адреса, для которого вы ожидаете загрузки скрипта, а он не загружается? Когда вы смотрите на источник веб-страницы, кода скрипта там нет?
2. localhost/buyback/static/js/modal.js я удалил / в src=»/static/js/modal.js «> но это все равно не работает… это просто нормально index.php исходный код, и когда я пытаюсь перейти по этой ссылке, она выдает мне 404
3. Таким образом, в
buyback
папке любой URL-адрес, который не начинается сstatic
, перенаправляется на index.php … Чтобы протестировать его, вам нужно будет протестировать URL, подобныйlocalhost/buyback/notstatic/blah
… Это должно перенаправить на index.php
Ответ №1:
Вам нужно пропустить все файлы / каталоги из вашей перезаписи:
RewriteEngine On
RewriteBase /buyback/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^static/ index.php [L,NC]
Ссылки на ваш JS-файл должны быть:
<script type="text/javascript" src="/buyback/static/js/modal.js"></script>