redirect - Helicon ISAPI_Rewrite 301 将某些文件从一个文件夹重定向到另一个文件夹

标签 redirect http-status-code-301 isapi-rewrite helicontech

我们将网站从一个文件夹移动到另一个文件夹。有些服务我们必须保留在旧位置。所以我们必须保留旧文件夹。

我们在FolderA根目录下的helicon ISAPI .htaccess文件中有这个

RewriteRule ^(\w+)\/(\w+)\/(\w+)\/t_(\d+)\/ /folderA/top.aspx?id=$4&linkki=$0

我们如何使 301 重定向到新位置(文件夹 B)?我知道我们可以做到。

RewriteRule ^(\w+)\/(\w+)\/(\w+)\/t_(\d+)\/ /folderB/top.aspx?id=$4&linkki=$0 

但这与对用户(以及搜索引擎)进行 301 重定向不同。

最佳答案

要将文件夹A重定向到文件夹B,您需要按照其他答案中的评论进行重定向。

这会将 /folderA/blabla/blalba/bla/t_2345 重定向到 /folderB/blabla/blalba/bla/t_2345

RewriteRule ^/folderA\/(\w+)\/(\w+)/(\w+)\/t_(\d+)$ /folderB/$1/$2/$3/t_$4 [NC,R=301,L]

如果文件夹的数量发生变化,但它们都以 t_digits 结尾,则您可以查找folderA 和 t_digits 之间的任何内容。例如,这会将 /folderA/abcdef/t_1234 重定向到 /folderB/abcdef/t_1234

RewriteRule ^/folderA\/(.+)\/t_(\d+)$ /folderB/$1/t_$2 [NC,R=301,L]

您可能需要调整是否保留前导斜杠,具体取决于配置方式。另外,您的问题有一个尾部斜杠,但注释示例没有,因此根据您的实际需要添加或删除尾部斜杠。

编辑: 关于永久重定向的旁注。调试此问题时,请使用不带 301 的 [NC,R,L]。当重定向是永久 (301) 时,浏览器通常会缓存以前的规则。完成测试后,将其更改为永久。请参阅此答案中的第 2 点和第 3 点:https://stackoverflow.com/a/9204355/292060

关于redirect - Helicon ISAPI_Rewrite 301 将某些文件从一个文件夹重定向到另一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101657/

相关文章:

php - 如何在 Laravel 的链接中检索 http get 参数?

.htaccess - 使用添加的URL参数进行重定向

codeigniter - 将 URL 重定向到 SEO 友好 URL 时使用哪个重定向?

nginx - Nginx删除WWW并同时回应

java - Spring +瓷砖。如何在 Controller 中返回 301 重定向(而不是 302)

regex - 没有最终字符的正则表达式匹配

asp.net - 使用 Azure Web 应用程序重写 ISAPI

asp.net-mvc-3 - mvc3 PRG 模式

PowerShell:抑制写入进度输出