我们将网站从一个文件夹移动到另一个文件夹。有些服务我们必须保留在旧位置。所以我们必须保留旧文件夹。
我们在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/