【发布时间】:2021-03-03 16:19:28
【问题描述】:
我有两台服务器正在为我的应用程序运行。
prod 和 staging 如下。
如果 HTTP_HOST 匹配 www.sitedomain.com 或 stage.sitedomain.com,我需要执行一些重定向规则
如果网址是https://www.sitedomain.com/us-en,页面应该重定向到https://www.sitedomain.us/
如果 URL 是 https://stage.sitedomain.com/us-en,页面应该重定向到 https://stage.sitedomain.us/
我正在执行以下步骤
RewriteCond %{HTTP_HOST} ^www\.sitedomain\.com$ [NC] 1
RewriteRule ^/us-en/(.*)$ https://www.sitedomain.us/$1 [R=301,L,NC] 2
RewriteCond %{HTTP_HOST} ^stage\.sitedomain\.com$ [NC] 3
RewriteRule ^/us-en/(.*)$ https://stage.sitedomain.us/$1 [R=301,L,NC] 4
问题是每当我点击https://stage.sitedomain.com/us-en时,我都会重定向到https://www.sitedomain.us/,而不是https://stage.sitedomain.us(简单地说它永远不会到达第3行)
所以第 1 行始终执行为 True,并在第 2 行为阶段 URL 执行重写规则。
谁能帮我解决这个问题?
【问题讨论】:
标签: apache .htaccess redirect mod-rewrite url-rewriting