.htaccess文件不尊重服务器时区

时间:2017-07-08 23:44:35

标签: apache .htaccess mod-rewrite

.htaccess文件设置如下:

SetEnv TZ Pacific/Auckland
php_value date.timezone ‘Pacific/Auckland’
RewriteEngine on
RewriteRule ^$ http://urlgoeshere.com/news/%{TIME_YEAR}%{TIME_MON}%{TIME_DAY}-%{TIME_HOUR}00-048.mp3 [R=301,L]

phpinfo.php显示时区设置为太平洋/奥克兰,尽管该脚本根据太平洋时区重写。我错过了什么?感谢

1 个答案:

答案 0 :(得分:0)

您正在为php解释的脚本设置php值。然后你用Apache重写。它永远不会使用那个php值,因为它永远不会执行php脚本。

据我所知,Apache使用服务器时区。有关详细信息,请参阅this question on serverfault。简而言之:更改/etc/sysconfig/clock,然后重新启动服务器。

为了避免头痛,我建议您使用UTC时间来处理所有事情。处理夏令时及其带来的所有边缘情况是一场噩梦,当你有一个国际观众,并且发现你必须突然在两个可变时区之间进行转换时,情况更糟。 UTC始终精确且恒定,使一切变得更容易。