301 如果页面不包含查询字符串则重定向域
301 Redirecting the domain if the page doesn't contain query string
我只想将根页面从 1 个子域重定向到另一个,例如:
来自 https://checkout.example.com to https://www.example.com/index.php?route=checkout/cart/
但是,包含 $ 和 & 的所有其他页面和查询字符串应保持不变。例如:
https://checkout.example.com/?Amount=1899&Invoice=55498213
应该保持原样
我尝试了多个 htaccess 规则文本:Redirect 301、Redirect、RedirectMatch、RewriteRule。所有规则都使用查询字符串重定向域。
这是我当前的 .htaccess 规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^$
RewriteCond %{HTTP_HOST} ^checkout\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/index.php?route=checkout/cart/ [L,R=301]
</IfModule>
这应该适合你:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_HOST} ^checkout\.domain1\.com$ [NC]
RewriteRule .* https://www.domain2.com/checkout [L,R=301]
终于成功了,已添加到 .htaccess 文件的顶部
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{HTTP_HOST} ^checkout\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/index.php?route=checkout/cart/ [L,R=301]
我只想将根页面从 1 个子域重定向到另一个,例如: 来自 https://checkout.example.com to https://www.example.com/index.php?route=checkout/cart/
但是,包含 $ 和 & 的所有其他页面和查询字符串应保持不变。例如: https://checkout.example.com/?Amount=1899&Invoice=55498213 应该保持原样
我尝试了多个 htaccess 规则文本:Redirect 301、Redirect、RedirectMatch、RewriteRule。所有规则都使用查询字符串重定向域。
这是我当前的 .htaccess 规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^$
RewriteCond %{HTTP_HOST} ^checkout\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/index.php?route=checkout/cart/ [L,R=301]
</IfModule>
这应该适合你:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_HOST} ^checkout\.domain1\.com$ [NC]
RewriteRule .* https://www.domain2.com/checkout [L,R=301]
终于成功了,已添加到 .htaccess 文件的顶部
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{HTTP_HOST} ^checkout\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/index.php?route=checkout/cart/ [L,R=301]