2016-03-05 48 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] 

上面的代码将重定向形式的进来的请求:

对此: