【问题标题】:virtual host current content while leaving archive in tact虚拟主机当前内容,同时保留存档
【发布时间】:2012-06-22 05:52:39
【问题描述】:

这可能不是最好的主题行,但我不知道还能问什么。

我正在为一年一度的节日设计一个网站,将根目录中的每一年的网站作为一年(即/2012/2011/2010 等)我们不希望当前年份显示在URL,所以我发现了如何修改 .htaccess 文件,如下所示:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/2012/
RewriteRule ^(.*) /2012/$1 [L]

问题是,这样所有档案都无法正确解析,我们希望保留过去节日的可见档案。最终目标是拥有这样的网址

http://www.mysite.com/
http://www.mysite.com/2011/
http://www.mysite.com/2010/
http://www.mysite.com/2009/

我该怎么做?如果使用虚拟主机完成,是否应该通过重写来完成?我不是很了解这些东西,也不想破坏网站!

【问题讨论】:

  • 这与编程无关。尝试将DirectoryIndex指向2012/index.html,然后当有人请求http://www.mysite.com/时,将显示2012/index.html。最终有人会将其移至 serverfault.com;您可能会得到更好的回应。
  • 啊。我没有意识到有一个单独的服务器管理论坛。

标签: apache .htaccess mod-rewrite virtualhost


【解决方案1】:

现在,您的 RewriteCond 会检查 URI 是否不在 /2012/ 内

RewriteCond %{REQUEST_URI} !^/2012/

相反,您应该检查它是否不在任何年份文件夹中:

RewriteCond %{REQUEST_URI} !^/[0-9]{4}/

【讨论】:

  • 你希望它做什么?这是一个旧的存档站点...编辑:哎呀,显然我正在回答已被删除的评论;)
  • 是的,我发表了评论然后意识到该文件实际上并没有覆盖实时服务器上的那个:) 谢谢!由于“!”,我认为它是这样的。但无法解决。现在完美运行!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 2013-10-15
  • 1970-01-01
  • 2014-02-22
  • 2018-09-21
  • 1970-01-01
相关资源
最近更新 更多