隐藏动态URL目录

时间:2014-06-16 17:28:53

标签: .htaccess url mod-rewrite dynamic hide

我的要求看起来很熟悉,但有一个技巧:)
我们有一个网站,可以重定向到主页内容的每日创建文件夹。

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

因此, website.com 会使用今天的日期转到上面的网址。

我们如何始终隐藏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]

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以使用description of RewriteCond中列出的环境变量 - 您可以找到TIME_DAYTIME_MONTIME_YEAR。前两个是两位数长度(适用时以零为前缀),第三个是四位数。

您可以直接在RewriteRule替换中使用它们,例如

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

应该适合您的情况。

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