.htaccess中URL重定向:移除末尾的list-all-products部分
Apache重定向规则修正:移除URL末尾的"list-all-products"后缀
你需要将所有以list-all-products结尾的URL永久重定向到移除该后缀的地址,比如:
domain/eshop/cbd-oel-und-tropfen/list-all-products→domain/eshop/cbd-oel-und-tropfendomain/eshop/list-all-products→domain/eshop
你之前的规则无效,核心问题是错误地把list-all-products当作了查询字符串(QUERY_STRING),但实际上它是URL路径的最后一段,并不是问号后的参数。
正确的重定向规则
RewriteRule ^(.*)/list-all-products$ /$1 [NC,R=301,L,E=nocache:1]
规则细节说明
^(.*)/list-all-products$:匹配所有以/list-all-products结尾的路径,(.*)会捕获该后缀之前的全部路径内容(包括空值,比如直接访问domain/list-all-products时,捕获内容为空)/$1:重定向目标为捕获到的路径部分,自动移除末尾的/list-all-products`NC:忽略大小写匹配(若你的URL大小写敏感,可移除该标记)R=301:标记为永久重定向,利于搜索引擎收录更新L:执行完这条规则后停止处理后续重定向规则E=nocache:1:设置环境变量禁止缓存重定向响应(需服务器配置支持该变量生效)
该规则可完美覆盖你给出的示例场景,同时也支持根目录下的list-all-products路径重定向到网站根地址。
内容的提问来源于stack exchange,提问作者Rudolf Baláš
相关产品推荐
相关产品推荐

