Regex 仅将子域重定向到根目录
所以我有一个网站:www.example.com,它在过去会将客户端重定向到www.example.com/subdir 现在我更新了整个站点,子目录不再存在,我希望主域是根目录。问题是许多客户端缓存了包含子域的url,因此我需要一个重定向规则将www.example.com/subdir路由到www.example.com 我试过这个:Regex 仅将子域重定向到根目录,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,所以我有一个网站:www.example.com,它在过去会将客户端重定向到www.example.com/subdir 现在我更新了整个站点,子目录不再存在,我希望主域是根目录。问题是许多客户端缓存了包含子域的url,因此我需要一个重定向规则将www.example.com/subdir路由到www.example.com 我试过这个: RewriteRule ^subdir/(.*)$ $1 如果我用最后一个斜杠输入www.example.com/subdir/,则该选项有效 但是,如果我
RewriteRule ^subdir/(.*)$ $1
如果我用最后一个斜杠输入www.example.com/subdir/,则该选项有效
但是,如果我访问www.example.com/subdir时没有最后一个斜杠,它将无法完成任务
如何使其工作?将规则更改为:
RewriteRule ^subdir(?:/(.*))?$ /$1 [L,NC,R=301,NE]
在这里使用R=301
非常重要,这样所有客户端和搜索引擎最终都会移动到新的URL,而不是对相同的内容使用重复的URL(糟糕的SEO)