在 rewriteCond 中匹配 HTTP_HOST?
Matching HTTP_HOST in rewriteCond?
我有两台服务器 运行 用于我的应用程序。
产品和分期如下。
如果 HTTP_HOST 匹配 www.sitedomain.com 或 stage.sitedomain.com
,我需要执行一些重定向规则
如果 URL 是 https://www.sitedomain.com/us-en page should redirect to https://www.sitedomain.us/
如果 URL 是 https://stage.sitedomain.com/us-en page should redirect to https://stage.sitedomain.us/
我正在执行以下步骤
RewriteCond %{HTTP_HOST} ^www\.sitedomain\.com$ [NC] 1
RewriteRule ^/us-en/(.*)$ https://www.sitedomain.us/ [R=301,L,NC] 2
RewriteCond %{HTTP_HOST} ^stage\.sitedomain\.com$ [NC] 3
RewriteRule ^/us-en/(.*)$ https://stage.sitedomain.us/ [R=301,L,NC] 4
问题是每当我点击 https://stage.sitedomain.com/us-en I am redirecting to https://www.sitedomain.us/, not to https://stage.sitedomain.us(简单地说它永远不会到达第 3 行)
因此第 1 行始终执行为 True,并在第 2 行执行阶段重写规则 URL。
谁能帮我解决这个问题??
根据您展示的示例,请您尝试以下操作。确保这是您的 htaccess 规则文件的第一条规则。请在测试您的网址之前清除您的浏览器缓存。
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^(www|stage)\.(sitedomain\.com)$ [NC]
RewriteRule ^([^-]*)-.*/?$ https://%1.%2./ [NE,R=301,L]
如果您只想将这些规则应用于非 es 网址,请尝试遵循以下规则,确保您一次使用以上或以下规则。
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^(www|stage)\.(sitedomain\.com)$ [NC]
RewriteRule ^(us)-en/?$ https://%1.%2./ [NE,R=301,L]
我有两台服务器 运行 用于我的应用程序。
产品和分期如下。
如果 HTTP_HOST 匹配 www.sitedomain.com 或 stage.sitedomain.com
,我需要执行一些重定向规则如果 URL 是 https://www.sitedomain.com/us-en page should redirect to https://www.sitedomain.us/
如果 URL 是 https://stage.sitedomain.com/us-en page should redirect to https://stage.sitedomain.us/
我正在执行以下步骤
RewriteCond %{HTTP_HOST} ^www\.sitedomain\.com$ [NC] 1
RewriteRule ^/us-en/(.*)$ https://www.sitedomain.us/ [R=301,L,NC] 2
RewriteCond %{HTTP_HOST} ^stage\.sitedomain\.com$ [NC] 3
RewriteRule ^/us-en/(.*)$ https://stage.sitedomain.us/ [R=301,L,NC] 4
问题是每当我点击 https://stage.sitedomain.com/us-en I am redirecting to https://www.sitedomain.us/, not to https://stage.sitedomain.us(简单地说它永远不会到达第 3 行)
因此第 1 行始终执行为 True,并在第 2 行执行阶段重写规则 URL。
谁能帮我解决这个问题??
根据您展示的示例,请您尝试以下操作。确保这是您的 htaccess 规则文件的第一条规则。请在测试您的网址之前清除您的浏览器缓存。
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^(www|stage)\.(sitedomain\.com)$ [NC]
RewriteRule ^([^-]*)-.*/?$ https://%1.%2./ [NE,R=301,L]
如果您只想将这些规则应用于非 es 网址,请尝试遵循以下规则,确保您一次使用以上或以下规则。
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^(www|stage)\.(sitedomain\.com)$ [NC]
RewriteRule ^(us)-en/?$ https://%1.%2./ [NE,R=301,L]