【问题标题】:Turn of Htaccess Caching in Admin在 Admin 中启用 Htaccess 缓存
【发布时间】:2015-12-13 23:01:30
【问题描述】:

我有一个 Laravel 开发。我希望htaccess 文件在前端工作,但我不希望它在管理员中缓存任何内容。所有管理页面都在目录 /home/ 中 - 我想让下面显示的代码不适用于此文件夹中的任何内容。

我怎样才能做到这一点?

在我的htaccess 文件中是以下代码:

    <ifModule mod_expires.c>
      ExpiresActive On
      ExpiresDefault "access plus 5 seconds"
      ExpiresByType image/x-icon "access plus 2592000 seconds"
      ExpiresByType image/jpeg "access plus 2592000 seconds"
      ExpiresByType image/png "access plus 2592000 seconds"
      ExpiresByType image/gif "access plus 2592000 seconds"
      ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
      ExpiresByType text/css "access plus 604800 seconds"
      ExpiresByType text/javascript "access plus 216000 seconds"
      ExpiresByType application/javascript "access plus 216000 seconds"
      ExpiresByType application/x-javascript "access plus 216000 seconds"
      ExpiresByType text/html "access plus 600 seconds"
      ExpiresByType application/xhtml+xml "access plus 600 seconds"
    </ifModule>

    <IfModule mod_headers.c>
      <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
        Header set Cache-Control "public"
      </filesMatch>
      <filesMatch "\.(css)$">
        Header set Cache-Control "public"
      </filesMatch>
      <filesMatch "\.(js)$">
        Header set Cache-Control "private"
      </filesMatch>
      <filesMatch "\.(x?html?|php)$">
        Header set Cache-Control "private, must-revalidate"
      </filesMatch>
      Header set X-XSS-Protection "1; mode=block"
      Header always append X-Frame-Options SAMEORIGIN
      Header set X-Content-Type-Options nosniff
    </IfModule>

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

注意:没有名为“home”的实际管理文件夹,因此我无法制作另一个 htaccess 文件。当我创建一个“主”文件夹时,它会产生一个奇怪的错误并循环,因为 laravel 中的所有管理文件夹都是动态的,并且由路由文件控制。

【问题讨论】:

    标签: apache .htaccess laravel caching


    【解决方案1】:

    您可以在您的 /home/ 目录中创建一个新的 .htaccess 文件,该文件位于仅用于管理的页面中,内容简单:

    <ifModule mod_expires.c>
      ExpiresActive Off
    </ifModule>
    

    并且您需要检查虚拟主机的 Apache 或 Nginx 配置中是否允许 Override All

    【讨论】:

    • 主目录不是真正的结构,没有一个管理结构具有真正的文件夹层次结构。我无权访问 apache 配置。我添加了主文件夹以查看会发生什么,但我陷入了循环
    • 每个子文件夹中的每个下一个 .htaccess 文件都会覆盖上一个 .htaccess 文件中的规则。您需要在管理内容目录中创建一个新的 .htaccess 文件来覆盖用于前端的规则。
    • 在这种情况下,管理员文件夹是动态的,所以我不能创建这样的文件夹。虽然如果我能做这样的事情那将是完美的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2018-10-14
    • 2017-08-26
    • 2010-12-20
    • 1970-01-01
    • 2012-04-22
    相关资源
    最近更新 更多