我们将网站的一个文件夹移动到另一个文件夹。我们必须保留旧位置的一些服务。所以我们不得不把文件夹保留下来。
我们在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重定向到用户(以及搜索引擎)不同。
答案 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