【问题标题】:Helicon Redirect to IIS6 Virtual Directory - .htaccess Syntax and locationHelicon 重定向到 IIS6 虚拟目录 - .htaccess 语法和位置
【发布时间】:2009-07-11 17:15:45
【问题描述】:

我正在将位于 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 Rewrite 版本 3.1.0.58,目前重定向工作正常。但是重定向到博客虚拟目录似乎不起作用。

当前 .htaccess 规则:

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

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

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

提前感谢您的帮助。

【问题讨论】:

    标签: .htaccess iis-6 isapi-rewrite


    【解决方案1】:

    我没有得到任何回应,但我自己设法弄清楚了。那个 LOL 是否有 StackOverflow 徽章 :-) 我正在回答我自己的问题,以防其他人有同样的问题。

    问题 1 的答案

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

    问题 2 的答案

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

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

    【讨论】:

      【解决方案2】:

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

      但您不能在 IIS 6 的 Helicon Rewrite 选项卡中为虚拟目录编辑它

      此问题已在 build 62 中修复,请更新并享受。

      【讨论】:

      • 不幸的是,旧的 URL 没有遵循一致的结构,我可以对它们应用规则:-( 感谢 Helicon Rewrite 修复的提醒!
      猜你喜欢
      • 1970-01-01
      • 2010-11-17
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 2013-07-30
      • 2011-04-06
      相关资源
      最近更新 更多