如何通过.htaccess在子域名间配置301重定向?
特定URL的301重定向配置(.htaccess)
我的站点部署在site.com,需要通过.htaccess实现以下重定向:
从 https://subdomain.site.com/metal/blokiloki/wto-420132015-65/ 重定向至 https://subdomain.site.com/metal/material/privodnye-bloki/wto-420132015-65/
最初尝试的无效规则
RewriteCond %{HTTP_HOST} ^(.*)subdomain.site.com/metal/material/privodnye-bloki/wto-420132015-65/$ [NC] RewriteRule ^(.*)$ http://%1subdomain.site.com/metal/material/privodnye-bloki/wto-420132015-65/ [R=301,L]
可正常生效的规则(更新后)
RewriteRule ^metal/blokiloki/wto-420132015-65/?$ https://%{HTTP_HOST}/metal/material/privodnye-bloki/wto-420132015-65/ [R=301,L]
规则说明
- 最初的错误在于误用
RewriteCond匹配HTTP_HOST,HTTP_HOST仅包含域名部分,不包含URL路径,导致规则无法匹配目标请求。 - 生效的规则直接通过
RewriteRule匹配URL路径:^metal/blokiloki/wto-420132015-65/?$可匹配带或不带末尾斜杠的旧路径,重定向时用%{HTTP_HOST}保留当前域名,同时指定R=301永久重定向、L终止后续规则处理。
内容的提问来源于stack exchange,提问作者rinatoptimus
相关产品推荐
相关产品推荐

