0

我希望每年使用.htaccess文件将网站的根目录更改为当年指定的目录。如何每年在.htaccess中更改网站的根目录?

只要我想这个网址http://www.example.com/重定向到该网址http://www.example.com/YYYY/其中YYYY是使用.htaccess文件的实际年份(例如2015)。

我有多个问题:

我应该使用哪种HTTP状态代码?
我应该使用301吗?但它每年都在变化!我仍然希望用户在重定向之前访问/
我应该使用302吗?但它不是临时的,根网址在一个漫长的一年中是相同的!
我应该用307吗?但它不是“维护中”页面,它是网络的根源!

我该如何让我的.htaccess规则中的url可变?
是否有一年的.htaccess变量或每年应该更改.htaccess文件?
- 我改变了主意,这不是我想要做的。当我发布新年的网站时,我宁愿更改.htaccess文件中的年份。

最后,你能帮助我形成规则吗?
应该使用RedirectRedirectMatchDirectoryIndexmod_rewrite

P.S .:我想在.htaccess文件中使用相对路径(如果可能的话)。

+0

“暂时,但永久”在英语中很混乱。另外,你为什么要这样做?那么用户仍然可以达到前几年(例如example.com/2014/)?我很好奇。 – pjmorse

+0

是的,它是每年举办比赛的网站。我想让用户看到与命题/获胜者/画廊旧年的网页... – aleskva

+1

我没有一个完整的答案给你,但我建议你使用'RedirectMatch'而不是'mod_rewrite',我认为状态代码应该是307,因为未来对URL的请求将会保持有效。 – pjmorse

回答

1

如果你只重定向根URL(即/,而不是/entries),你可以用这样简单的东西:

RedirectMatch 307 "^/$" /2015/ 

如果你想重定向任何URL没有一年的时间,例如/entries,到具有年份的URL,例如/2015/entries,你需要一个更复杂的规则来避免循环 - /2015/entries重定向到/2015/2015/entries

+0

它会做得很好。谢谢。 '/ enries'可以通过文件夹中的'.htaccess'文件来处理,因为通用的解决方案会太复杂了...... – aleskva