代码之家  ›  专栏  ›  技术社区  ›  Absolut40

Helicon重定向到iis6虚拟目录-.htaccess语法和位置

  •  0
  • Absolut40  · 技术社区  · 15 年前

    我正在将位于我的IIS 6 Web服务器上的物理文件夹(/blog/)中的日志移动到运行blogengine.net的同名(blog)虚拟目录中,该虚拟目录与父网站运行在同一应用程序池中。

    我想将每个.html文章重定向到新的blogengine.net URL。例如

    http://www.mywebsite.co.uk/blog/2009/06/old-blog-title.html http://www.mywebsite.co.uk/blog/post/new-blog-title.aspx

    我已经在我的网站上运行了Helicon ISAPI重写版本3.1.0.58,目前重定向工作正常。但是重定向到博客虚拟目录似乎不起作用。

    当前.htaccess规则:

    #rewriterule ^blog/2009/06/old-blog-title.html$ /blog/post/new-blog-title.aspx [R=301,L]
    

    问题1: 我应该将.htaccess规则添加到blog虚拟目录根目录还是主网站根目录?

    问题2: 我应该使用什么.htaccess语法重定向到虚拟目录?

    事先谢谢你的帮助。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Absolut40    15 年前

    我没有得到任何回应,但我自己设法弄明白了。有那个lol的stackoverflow徽章吗?) 我在回答我自己的问题,以防其他人也有同样的问题。

    问题1的答案

    .htaccess文件应位于虚拟目录根目录中,但不能在IIS6的Helicon Rewrite选项卡中为虚拟目录编辑此文件,因为它希望将.htaccess文件保存在名为/blog/的物理目录中,而不是虚拟目录中。

    问题2的答案

    由于虚拟目录中的.htaccess文件位置,需要稍微修改重写。基本上从旧URL的开头删除blog/。

    rewriterule ^2009/06/old-blog-title.html$ /blog/post/new-blog-title.aspx [R=301,L]
    
        2
  •  1
  •   TonyCool    15 年前

    如果你只需要重定向几个博客文章,你的规则是可以的,但是如果你有数百篇文章,你最好看看isapi重写的mapfiles功能。 here .

    但是你不能在虚拟目录的IIS6的Helicon Rewrite选项卡中编辑这个。

    这个问题在build 62中得到了解决,所以请更新并享受。