Я намагаюся реалізувати перебір кешу, як це визначено: http://html5boilerplate.com/docs/cachebusting/
Однак, коли я додаю до файлу .htaccess у своїй медіа-папці наступне:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).(d+).(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>
а потім я намагаюся отримати доступ до аркуша стилів за адресою: "/media/css/styles.1234.css", Apache скаржиться на:
Not Found
The requested URL /media/css/styles.1234.css was not found on this server.
Я можу отримати доступ до styles.css на "/ media / css / styles.css "так це" там і працює. Я також знаю, що файл htaccess обробляється, оскільки ми також забороняємо переглядати каталоги в папці "Media" з "Параметри -Indexes". Ось файл htaccess у повному обсязі:
Options -Indexes
AllowOverride All
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).(d+).(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>
Також підтверджено, що mod_rewrite завантажується з цією командою: "переписати a2enmod". Не впевнений, що я роблю неправильно ...
Відповіді:
1 для відповіді № 1Ось рішення моєї проблеми ... Навіть незважаючи на те, що mod_rewrite був завантажений, його потрібно було ввімкнути. Тому я щойно додав "RewriteEngine On" ... результуючий файл htaccess:
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).(d+).(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>
0 для відповіді № 2
Відносна стежка перепишіть, відсутні RewriteBase
: провал!
0 для відповіді № 3
У мене була така ж помилка, неправильно використана Header set X-Frame-Options "DENY"
. Швидке виправлення може бути тимчасовим коментарем. Сподіваємось, що допоможе тому, хто потребує ефективного рішення «поки що».