我的要求看起来很熟悉,但有一个技巧:)
我们有一个网站,可以重定向到主页内容的每日创建文件夹。
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]
谢谢,
答案 0 :(得分:0)
您可以使用description of RewriteCond
中列出的环境变量 - 您可以找到TIME_DAY
,TIME_MON
和TIME_YEAR
。前两个是两位数长度(适用时以零为前缀),第三个是四位数。
您可以直接在RewriteRule
替换中使用它们,例如
RewriteRule ^(.*)$ /static-folder/{TIME_DAY}-%{TIME_MON}-%{TIME_YEAR}/$1
应该适合您的情况。
不确定,是否可以在您已经拥有的第二个RewriteCond
中使用它们,在右侧进行比较。但是你的条件#3和#4已经足以在这里停止重写,因为一旦请求被重写到现有的当天文件夹,!-f
resp。 !-d
应该已经抓住了。