2014-06-16 139 views
1

我的请求看起来很熟悉,但有一个技巧:)
我们有一个网站,重定向到主页面内容的每日创建文件夹。隐藏动态URL目录

website.com/static-folder/dd-mmm-yyyy/index.html 

所以,website.com转到URL上面今天的日期。

我们如何总是隐藏URL中的目录,并只显示域名?

website.com 

我知道,使用mod_rewrite的做工作,但不知道该代码,以动态更改日期的文件夹。

RewriteCond %{HTTP_HOST} ^(www.)?website.com$ 
RewriteCond %{REQUEST_URI} !^/static-folder/dd-mmm-yyyy/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /static-folder/dd-mmm-yyyy/$1 

RewriteCond %{HTTP_HOST} ^(www.)?website.com$ 
RewriteRule ^(/)?$ /index.html [L] 

感谢,

+0

谢谢@CBroe,但这没有奏效。我得到(500内部服务器错误错误),我已经编辑了上述问题,因为该文件夹代表3个月的信函格式(1月,12月,...) – user3745754

回答

0

您可以使用在description of RewriteCond对列出的环境变量 - 在那里,你会发现TIME_DAYTIME_MONTIME_YEAR。前两个是两位数字(适用时以零为前缀),第三个是四位数字。

您可以在RewriteRule替代直接使用它们,像

RewriteRule ^(.*)$ /static-folder/{TIME_DAY}-%{TIME_MON}-%{TIME_YEAR}/$1 

应该为你的情况下工作。

虽然不确定,但是您可以在您的第二个RewriteCond中使用它们,您也可以在右边进行比较。但是您的条件#3和#4应该已经足以停止在这里重写,因为一旦请求已被重写到现有当天的文件夹,!-f或者!-f或者!-f或者!-f!-d应该已经捕捉到了。

+0

我得到(500内部服务器错误错误)和我已经编辑了上面的问题,因为该文件夹代表三个字母格式的月份(Jan,Dec,...) – user3745754

+0

该格式似乎不可用。 – CBroe

+0

有没有办法将/ static-folder/dd-mmm-yyyy /保存到变量中并将其添加到RewriteRule中? – user3745754