Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 隐藏动态URL目录_.htaccess_Url_Mod Rewrite_Dynamic_Hide - Fatal编程技术网

.htaccess 隐藏动态URL目录

.htaccess 隐藏动态URL目录,.htaccess,url,mod-rewrite,dynamic,hide,.htaccess,Url,Mod Rewrite,Dynamic,Hide,我的请求看起来很熟悉,但有一个窍门:) 我们有一个网站,重定向到一个每日创建的文件夹的主页内容 website.com/static-folder/dd-mmm-yyyy/index.html 所以,website.com转到上面的URL,上面有今天的日期 我们怎么能总是从URL中隐藏目录,而只显示域名 website.com 我知道使用mod_rewrite可以完成这项工作,但不知道动态更改日期文件夹的代码 RewriteCond %{HTTP_HOST} ^(www.)?website.

我的请求看起来很熟悉,但有一个窍门:)
我们有一个网站,重定向到一个每日创建的文件夹的主页内容

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]

谢谢,

您可以使用中列出的环境变量来实现这一点–在那里您可以找到
时间日
时间月
时间年
。前两个长度为两位数(如果适用,前缀为零),第三个长度为四位数

您可以直接在
重写规则
替换中使用它们,例如

RewriteRule ^(.*)$ /static-folder/{TIME_DAY}-%{TIME_MON}-%{TIME_YEAR}/$1
应该对你的案子有用


不过,不确定您是否可以在第二个
RewriteCond
中使用它们,您也可以在右侧使用它们进行比较。但是您的条件#3和#4应该已经足够停止在此处重写,因为一旦请求被重写到当前文件夹,
-f
resp<代码>-d应该已经知道了。

谢谢@CBroe,但这不起作用。我收到(500个内部服务器错误),我编辑了上面的问题,因为文件夹以3个字母的格式表示月份(1月,12月,…),我收到(500个内部服务器错误),我编辑了上面的问题,因为文件夹以3个字母的格式表示月份(1月,12月,…)有没有办法将/static folder/dd mmm yyyy/保存到一个变量中,并将其添加到RewriteRule?我现在想不出一个简单的方法——毕竟,这必须在开始重写之前发生。当然,你可以每天更新你的
.htaccess
文件,但这似乎不是一个非常顺利的解决方案……也许最好在已经创建了这些每日文件夹的地方解决这个问题(例如,通过设置一个简单的符号链接,始终指向当前文件夹或其他东西)。