3

我们将网站从一个文件夹移到另一个文件夹。一些服务我们不得不保留在旧位置。所以我们不得不保留旧的文件夹。

我们在 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 重定向不同。

4

2 回答 2

0

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

RewriteRule ^(\w+)/(\w+)/(\w+)/t_(\d+)/?$ /folderB/top.aspx?id=$4&linkki=$0 [NC,R=301,L]
于 2015-05-07T13:45:05.423 回答
0

要将文件夹 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]

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

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

于 2015-05-31T16:48:08.647 回答