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

时间:2015-05-07 12:53:24

标签: 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重定向到新位置(folderB)?我知道我们可以做到这一点。

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

但它与301重定向到用户(以及搜索引擎)不同。

2 个答案:

答案 0 :(得分:0)

要使其有效301重定向,只需在规则末尾添加以下标志:

RewriteRule ^(\w+)/(\w+)/(\w+)/t_(\d+)/?$ /folderB/top.aspx?id=$4&linkki=$0 [NC,R=301,L]

答案 1 :(得分:0)

要将folderA重定向到folderB,您希望在其他答案的评论中重定向。

这会将/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