【问题标题】:Timing maintenance mode定时维护模式
【发布时间】:2014-06-12 15:58:55
【问题描述】:

是否可以通过.htaccess方法使维护模式定时?

例如在特定时间禁用维护模式?

例如我用这个(当然是我的 IP):

<IfModule mod_rewrite.c>
RewriteCond %{REMOTE_ADDR} !^00\.0\.000\.00
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.html [R=302,L]
</IfModule>

【问题讨论】:

标签: php .htaccess rewrite maintenance maintenance-mode


【解决方案1】:

是否可以通过.htaccess方法使维护模式定时?

是的,如果维护是固定时间

例如,周日下午 3-4 点(服务器时间)

RewriteCond %{TIME_WDAY} =6
RewriteCond %{TIME_HOUR} >15
RewriteCond %{TIME_HOUR} <16
RewriteRule .* /maintenance.html [R=302,L]

阅读更多关于mod_rewrite time variables的信息。

【讨论】:

    【解决方案2】:

    是的,这可以通过使用%{TIME_HOUR}%{TIME_MIN} 来实现。要在晚上 7 点到 7:15 之间显示维护页面,您可以执行以下操作:

    RewriteCond %{TIME_HOUR}%{TIME_MIN} >1900
    RewriteCond %{TIME_HOUR}%{TIME_MIN} <1915
    RewriteCond %{REMOTE_ADDR} !^00\.0\.000\.00
    RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
    RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
    RewriteRule .* /maintenance.html [R=302,L]
    

    有关可以使用的变量的完整列表,其中一些是基于时间的,请查看documentation

    截至目前,以下变量可用。

    TIME_YEAR
    TIME_MON
    TIME_DAY
    TIME_HOUR
    TIME_MIN
    TIME_SEC
    TIME_WDAY
    TIME
    

    据我所知,没有关于这些变量可以包含什么的文档,但您可以通过执行以下操作来试验它们:

    RewriteRule ^foo$ /bar?time_year=%{TIME_YEAR} [R,L]
    

    然后在浏览器地址栏中输入http://example.com/foo

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 1970-01-01
      • 2020-08-30
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      相关资源
      最近更新 更多