Правила, которые вы опубликовали выше, уже присутствуют в шаблоне .htaccess HTML5 (под заголовком # Built-in filename-based cache busting
)
# Uncomment to enable.
# <IfModule mod_rewrite.c>
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
# </IfModule>
Вы можете раскомментировать их, удалив символ «#» в началекаждая строка.И измените 5-ю строку, чтобы разрешить ваше правило для favicon.ico:
RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif|ico)$ $1.$3 [L]
Редактировать: Чтобы перенаправить все запросы на index.php, я изменил правила в # Suppress or force the "www." at the beginning of URLs
втаким образом:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !^(.+)\.(js|css|png|jpg|gif|ico)$
RewriteRule ^(.*)$ index.php [NC]
</IfModule>
Обычно вы должны поместить свои собственные правила в начало файла .htaccess перед другими правилами, а не после них.