所以我有这个网站:www.example.com,过去会将客户端重定向到 www.example.com/subdir
现在我更新了整个网站,子目录不再存在,我希望主域成为根目录。问题是许多客户端都缓存了包含子域的网址,因此我需要一个重定向规则将 www.example.com/subdir 路由到 www.example.com。
我尝试过这个:
RewriteRule ^subdir/(.*)$ $1
如果我输入 www.example.com/subdir/最后一个斜杠
但是如果我访问 www.example.com/subdir 没有最后一个斜杠,它将无法完成这项工作。
我怎样才能让它发挥作用?
最佳答案
将规则更改为:
RewriteRule ^subdir(?:/(.*))?$ /$1 [L,NC,R=301,NE]
此处使用 R=301
非常重要,这样所有客户端和搜索引擎最终都会转移到新的 URL,而不是继续对相同内容使用重复的 URL(糟糕的 SEO)。
关于regex - 仅将子域重定向到根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44659480/