2014-02-24 45 views
1

的mod_rewrite我有一個問題:時間鎖定在.htaccess文件

RewriteCond %{HTTP_USER_AGENT} (safari|navigator) [NC] 
RewriteCond IF SOMEONE ASK, IN LESS THAN 30 SECONDS (HALF MINUTE) FOR FILES IN FOLDERS (folder1|folder2|folder3) 
RewriteRule ^((?!folder3/).*)$ /folder3/$1 [L,NC] 

也許更簡單:

RewriteCond IF SOMEONE ASK, IN LESS THAN 30 SECONDS (HALF MINUTE) FOR FILES IN FOLDERS (folder1|folder2|folder3) 
RewriteRule ^((?!folder3/).*)$ /folder3/$1 [L,NC] 

如果有人問文件(有些瀏覽器)的Apache HTTP服務器文件夾1和文件夾2中少於30秒,但是在那段時間ex之後請求文件夾3中的文件。 (在45秒或2分鐘內)將不會執行重寫程序。 所有三個文件夾中的文件必須在不到30秒的時間內重新排序才能重寫它的工作。

回答

0

這個問題的答案是不幸的:「不,你不能這樣做在.htaccess」

有一個在mod_rewrite沒有可用的變量,它可以讓你訪問文件的修改/創建時間和寫條件它再次。

See full list of mod_rewrite variable

只有選項是將請求轉發到PHP控制器,做php代碼這裏面檢查。

+0

使用php做它很複雜嗎?你能給我一些幫助嗎?如果它比沒有任何代碼更復雜...... – user3082821

+0

在PHP中,你可以使用'filemtime'函數(http://us.php.net/filemtime) – anubhava

+0

我在下面找到了鏈接:http://stackoverflow.com/questions/ 16057024/set-alternate-content-until-a-specific-date-with-apache-rewriterule-and-rewritec RewriteCond%{TIME}> = 20130422000000它有用嗎? – user3082821