2016-03-05 51 views
1

我想是加入今天的日期作爲參數域,如果它包含一個特定的主機,因此打算:添加今天的日期與的.htaccess參數

www.example.com/whatever/whatever.htm?var1=bla&var2=blabla 

什麼也不做,但要

date.example.com/whatever/whatever.htm?var1=bla&var2=blabla 

應該重定向到

www.example.com/whatever/whatever.htm?var1=bla&var2=blabla&date=2016-03-06 

date=參數根據作爲動態 今天的日期。

重定向應該是301.從我一直在尋找的東西我認爲我應該使用[QSA,R=301,L]%Y-%m-%d%{TIME_YEAR}-%{TIME_MON}-%{TIME_DAY}日期。

我也「知道」{QUERY_STRING}$_SERVER['REQUEST_URI'],所以我認爲我擁有所有的東西,但放在一起就成了挑戰。我設法做了一個簡單的重定向,我將一個特定的URL重定向到另一個,但動態地添加日期,更改主機等,證明是在我頭上的方式,因爲我以前從未碰過.htaccess

+0

您可以隨時在PHP本身中檢查日期。或者如果URL在請求中沒有該日期並且使用頭部('')在那裏重定向,則可以檢查PHP。這對你來說會更簡單。 –

回答

0

您可以使用下面的代碼添加當前日期perameter查詢字符串:

RewriteEngine on 


RewriteCond %{HTTP_HOST} ^date\.example\.com$ 
RewriteCond %{THE_REQUEST} /whatever/whatever\.htm\?var=([^&]+)&var2=([^&\s]+) [NC] 
RewriteRule^http://example.com%{REQUEST_URI}?var1=%1&var2=%2&date=%{TIME_YEAR}-%{TIME_MON}-%{TIME_DAY} [NE,NC,L,R] 

上面的代碼將重定向形式的進來的請求:

對此: