htaccess中的域特定重写规则?

时间:2016-10-10 11:00:39

标签: .htaccess

我目前在我的htaccess中有这个:

  RewriteRule /order/?$  /lang-en/order.php [QSA,L]

由于我有几个指向此ftp帐户的域名,我希望拥有特定于域的重写规则。

以下内容并不奏效,但您明白了这一点:

  RewriteRule https://www.shakeplus.com/order/?$  /lang-en/order.php [QSA,L]
  RewriteRule https://www.shakeplus.co.uk/order/?$  /lang-gb/order.php [QSA,L]

我可能需要RewriteCond%{HTTP_HOST},但不知道如何做到这一点。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这个问题在某些查询的搜索结果中没问题,所以值得回答。

使用和不使用www:

进行匹配
RewriteCond %{HTTP_HOST} ^(www\.)?shakeplus\.com$ [NC]
RewriteRule order/?$ /lang-en/order.php [QSA,L]

RewriteCond %{HTTP_HOST} ^(www\.)?shakeplus\.co\.uk$ [NC]
RewriteRule order/?$ /lang-gb/order.php [QSA,L]

或只是与www:

匹配
RewriteCond %{HTTP_HOST} ^www\.shakeplus\.com$ [NC]
RewriteRule order/?$ /lang-en/order.php [QSA,L]

RewriteCond %{HTTP_HOST} ^www\.shakeplus\.co\.uk$ [NC]
RewriteRule order/?$ /lang-gb/order.php [QSA,L]

您可能需要执行301重定向,这需要[QSA,R=301,L]代替[QSA,L]