У меня проблема с правилом перезаписи, которое я использую для автоматического управления версиями моих CSS и JS.
У меня есть следующий HTML-код для включения моей таблицы стилей:
<link rel="stylesheet" type="text/css" href="includes/css/index_home.1364215354.css" />
Я использую это в своем .htaccess, чтобы удалить точку и 10 цифр:
RewriteEngine On
RewriteRule ^(.*)\.[\d]{10}\.(css|js)$ $1.$2 [L]
Когда я загружаю сайт, таблица стилей не загружается, даже если я указываю в браузере http : //www.example.com/includes/css/index_home.css Я вижу таблицу стилей.
Метод, который я пытаюсь использовать, я нашел здесь Как заставить браузер перезагружать кешированные файлы CSS / JS?
Я предполагаю, что проблема в RewriteRule, но не знаю почему.
1 ответ
RewriteRule пока в порядке. Возможно, проблема в относительном URL и в запросе есть префикс.
В этом случае вы должны быть более конкретными (начинать с includes
), а также не привязывать к началу строки запроса. Также перепишите его на абсолютный URL-путь
RewriteRule (includes/.*)\.[\d]{10}\.(css|js)$ /$1.$2 [L]
Если у вас несколько файлов .htaccess, более конкретный (css
) переопределяет.htaccess ближе к корневому каталогу. Чтобы объединить эти файлы .htaccess, вы должны использовать RewriteOptions Inherit
a> или RewriteOptions InheritBefore
в css
файл .htaccess.
Похожие вопросы
Новые вопросы
.htaccess
Файл конфигурации уровня каталогов, используемый веб-серверами Apache. Используйте этот тег, если и только если содержимое .htaccess непосредственно участвует в теме. Мы знаем, что многие люди используют .htaccess, но просить членов сообщества не использовать этот тег, если вы не знаете, что это на вашем вопросе. Также обратите внимание, что тег «Apache» должен сказать о вопросах о _configurguiting_ Apache httpd и их потенциал Offictyness на StackoverFlow
access.log
, что на самом деле запрашивается. Думаю,httpdocs
вашDocumentRoot
. Где находится каталогincludes
?