htaccess问题:if else条件

时间:2014-12-29 05:39:31

标签: php apache .htaccess mod-rewrite

如何在htaccess中制作if else。这里条件和我想将它转换为htaccess

地址栏中的

url链接访问者可能会输入以下内容:

  • 没有段= www.myshopname.com /
  • w / segments = www.myshopname.com/category/1/cars

if(there's a segments){
    //it will use this rewriterule
     RewriteRule ^(.*)$ http://www.example.com/shop/myshopname/$1 [P] 
}
else{ 
    //or this rewriterule
     RewriteRule ^(.*)$ http://www.example.com/shop/myshopname [P] 
}

正如您所看到的那样,如果有一个细分,则会有1美元。

目前我的代码在此:

RewriteCond %{HTTP_HOST} ^www\.myshopname\.com
RewriteRule ^(.*)$ http://www.example.com/shop/myshopname [P]

如果我添加/ $ 1(http://www.example.com/shop/myshopname/ $ 1),浏览器会发出错误“此网页有重定向循环”

1 个答案:

答案 0 :(得分:0)

对于这两种情况,您只需要一条规则,因为对于着陆页,$1将为空:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?myshopname\.com$ [NC]
RewriteRule ^(.+)$ http://www.example.com/shop/wish-you-have/$1?shop_link=wish-you-have [P,L]