使用.htaccess将今天的日期添加为参数

时间:2016-03-05 22:23:35

标签: .htaccess redirect mod-rewrite

我想要的是将今天的日期添加为域中的参数(如果它包含特定主机),所以转到:

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重定向到另一个特定的URL,但是动态地添加日期,更改主机等等证明是我的头脑,因为我之前从未接触过.htaccess

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码将当前日期参数添加到查询字符串:

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]

上面的代码将重定向表单的收到请求:

到此: