2017-09-06 10 views
0

管理パネルとウェブサイトの両方に1つの.htaccessファイルがあります。 私のウェブサイトではキャッシュ用にapcキャッシュを使用していますが、ウェブサイトでは でも問題なく動作しますが、バックエンド/管理パネルではキャッシュのために多くの問題があります。.htaccessを使用して管理パネルからキャッシュを削除する方法

は今、私は私が管理者としてだけでなく、両方のウェブサイトのための.htaccessファイルで正規表現を書くことができますどのように

だから、私に教えてくださいキャッシュを必要とする管理者panalが、ウェブサイトでキャッシュを必要としませんパネル。

現在、私は私の.htaccessに例えば

## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/jpg "access plus 1 year" 
ExpiresByType image/jpeg "access plus 1 year" 
ExpiresByType image/gif "access plus 1 year" 
ExpiresByType image/png "access plus 1 year" 
ExpiresByType image/svg+xml "access 1 month" 
ExpiresByType text/css "access plus 1 month" 
ExpiresByType application/pdf "access plus 1 month" 
ExpiresByType text/x-javascript "access plus 1 month" 
ExpiresByType application/x-shockwave-flash "access plus 1 month" 
ExpiresByType image/x-icon "access plus 1 year" 
ExpiresDefault "access plus 2 days" 
</IfModule> 
## EXPIRES CACHING ## 

をこのコードを使用しています:

cache works on : www.xyz.com/ 
cache not works on : www.xyz.com/admin 
+0

adminディレクトリ内に別のhtaccessファイルを置くことはできませんか? –

+0

@ axel.michelこれは、adminディレクトリ内にあるファイルに対してのみ機能します。 '.htaccess'ファイルに記述されているアセットはおそらく他の場所にあり、両方のセクション(admin/non-admin)で同じであると思われます。 – jeroen

+0

symfonyフレームワーク(php)を使用していて、私のファイル/ディレクトリ構造が異なる場合 –

答えて

1

あなたは画像、スタイルシートやJavaScriptなどの資産について話しているように見えます。

アセットが通常のセクションと管理セクションで同じであるとすると、.htaccessファイルで簡単にアセットを作成することはできません。ユーザーが通常のページにアクセスしているかどうかに関係なく、ブラウザは同じURLをリクエストしますまたは管理ページ。

コード自体の管理セクションでできることは、/assets/css/style.css?v=UNIQUE_VERSION_NUMBERのような一意のファイル名を使用してキャッシュを無効にしています。ここで

ユニークなバージョン番号は、次のコードを使用して、特定のフォルダにキャッシュすることによってオフにすることができますなど最新のハッシュコミット、タイムスタンプ、

1

である可能性があります。

<Directory "your folder path(e.g. /www/htdocs/admin)"> 
    ExpiresActive Off 
</Directory> 

これで問題が解決する場合があります。

関連する問題