0

我正在将位于 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 语法来重定向到虚拟目录?

在此先感谢您的帮助。

4

2 回答 2

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]
于 2009-07-12T14:16:47.347 回答
1

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

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

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

于 2009-07-13T09:49:30.033 回答