如何通过.htaccess实现双语网站跨域名指定路径的301跳转?
解决双语网站域名路径跳转的.htaccess规则问题
你之前的规则失效是因为HTTP_HOST变量仅存储请求的域名(比如beispiel.com),不包含URL路径部分,所以^beispiel\.com/fr$这个条件永远无法匹配成功。
以下是符合需求的正确规则:
RewriteEngine On RewriteBase / # 规则1:将beispiel.com/fr开头的URL重定向到example.com对应fr路径 RewriteCond %{HTTP_HOST} ^beispiel\.com$ [NC] RewriteRule ^fr/(.*)$ https://example.com/fr/$1 [R=301,L] # 规则2:将example.com/de开头的URL重定向到beispiel.com对应de路径 RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^de/(.*)$ https://beispiel.com/de/$1 [R=301,L]
规则说明:
RewriteCond %{HTTP_HOST} ^beispiel\.com$ [NC]:匹配来自beispiel.com的请求,[NC]表示不区分域名大小写RewriteRule ^fr/(.*)$ https://example.com/fr/$1 [R=301,L]:捕获fr/之后的所有路径内容(用$1指代),完整映射到新域名的对应路径;R=301是永久重定向,L表示当前规则匹配后停止后续规则解析- 第二条规则逻辑完全对应,处理example.com域名下的de路径跳转
内容的提问来源于stack exchange,提问作者Tschaipi
相关产品推荐
相关产品推荐

