Snažím sa implementovať vyrovnávanie pamäte cache, ako to predpisuje: http://html5boilerplate.com/docs/cachebusting/
Keď však do súboru .htaccess v mojom priečinku s médiami pridám nasledujúce:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).(d+).(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>
a potom sa pokúsim získať prístup k šablóne so štýlmi na adrese: "/media/css/styles.1234.css", Apache si sťažuje:
Not Found
The requested URL /media/css/styles.1234.css was not found on this server.
Mám prístup k styles.css na adrese "/ media / css / styles.css "tak to je a funguje to." Viem tiež, že súbor htaccess sa spracuje, pretože tiež zakážeme prehliadanie adresárov v priečinku médií pomocou možnosti „Možnosti - Indexes“. Toto je súbor htaccess ako celok:
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>
Potvrdilo sa tiež načítanie mod_rewrite pomocou tohto príkazu: „a2enmod prepísať“. Nie ste si istí, čo robím zle ...
odpovede:
1 pre odpoveď č. 1Toto je riešenie môjho problému ... Aj keď bol mod_rewrite načítaný, musí byť zapnutý. Takže som práve pripustil „RewriteEngine On“ ... výsledný súbor 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 pre odpoveď č. 2
Relatívne prepísanie cesty, chýba RewriteBase
: zlyhať!
0 pre odpoveď č. 3
Mal som rovnakú chybu, nesprávne použitú Header set X-Frame-Options "DENY"
, Rýchla oprava môže byť dočasne komentovaná. Dúfam, že pomôže niekomu, kto potrebuje efektívne riešenie "zatiaľ".