Как написать .Htaccess сделать версию для CSS, JS, - PullRequest
0 голосов
/ 20 ноября 2010

Я хочу

<link rel="stylesheet" type="text/css" href="/css/site.min.v1.1.css" />
<script type="text/javascript" src="/js/site.min.v1.1.js"/>

так же, как

<link rel="stylesheet" type="text/css" href="/css/site.min.css" />
<script type="text/javascript" src="/js/site.min.js"/>

, и он может использоваться с /css/site.v1.1.css

, но он не работает.Помогите мне написать htaccess.


я тестирую с

RewriteRule ^(css|js)/(.+(?:min)?)\.(.+)\.(js|css)$ $1/$2.$4 [L]

это будет работать для примера 2 выше, но не работает с /js/jquery-1.4.2.min.js


работает с RewriteRule ^(css|js)/(.*(?:min)?)(\.v.*)+\.(js|css)$ $1/$2.$4 [L]

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Ожидая необходимости внесения изменений в масштабах сайта, иногда для простоты, если php доступен, я начинаю с включения простого набора php в соответствующую часть всех HTML-документов '<head> s

<?php  
 include "absolute_path/jQueryInclude.html"
?>

И затем файл jQueryInclude.html , использующий фактический номер серии (1.1 в вашем примере), поэтому он отображается в заголовке, если вы просматриваете источник какого-либо документа.

<link rel="stylesheet" type="text/css" href="/css/site.min.v1.1.css" />
<script type="text/javascript" src="/js/site.min.v1.1.js"/>

Вам нужно всего лишь изменить jQueryInclude.html , чтобы изменить заголовок всех файлов, в которые он включен.

Это может значительно облегчить работу с другим сайтом.широкие изменения также.И вы можете иметь разные операторы включения для разных групп HTML-файлов страниц.Возможно, более чистый, более понятный и повторно просматриваемый способ в долгосрочной перспективе.

Он действительно похож на серверную, просто используя вместо вашего обычного расширения html для основных файлов и php.

0 голосов
/ 20 ноября 2010

Я очень сомневаюсь, что то, что вы делаете, - это вообще хорошая практика, поскольку она, вероятно, принесет вам больше головной боли, чем пользы. Вы должны иметь возможность включить /js/jsquery-1.4.2.min.js в свой набор, включив другое правило перезаписи (после того, которое вы уже провайдера), в соответствии с этим:

RewriteRule ^(css|js)/([^-]+)(?:[0-9.-]+)(\.min\.)(js|css)$ $1/$2$3$4 [L]

но опять же действительно выглядит как уродливый патч. Он очень общий, ненадежный, он скрывает информацию о версии, может вызвать проблемы - не делайте этого.

Подумайте о других способах решения проблемы. Я не понимаю, что именно является основной причиной, побудившей вас удалить версии, но я предлагаю вам взглянуть на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...