我正在与多个卖家合作的网站上,每个卖家都有自己的子域。我想做的是在访问主域(主主页)时将访问者重定向到登录页面,但是在访问子域(卖方主页)时应该没有重定向。
myproject.com/
重定向-> myproject.com/login/
但是
seller.myproject.com/
不应重定向。
我已经尝试使用htaccess进行一些操作,但是最终我也将子域也重定向到seller.myproject.com/login/
。
有人因为我对正则表达式感到不满意而向我指出正确的方向吗?
谢谢!
答案 0 :(得分:2)
我认为您可以使用正则表达式解决问题,只需使用两次出现的点作为用户在卖方页面上的标识即可。我不知道您使用的是哪种语言,但是您可以从这里获得想法。
String input="seller.myproject.com/";
Pattern p=Pattern.compile(("[a-zA-z0-9]\\.[a-zA-z0-9]\\.com"));
Matcher m=p.matcher(input);
if(m.find())
{
//don't redirect
}
else
{
//redirect
}
答案 1 :(得分:0)
好吧,我刚刚找到了这个:
https://stackoverflow.com/a/16886639/8694548
这可行,但是现在的问题是如何让所有子域都具有这种行为,而不是手动将其放置在那里。
所以不是!^(foo|bar)\.example\.com$
> !^(*)\.example\.com$
感谢您的帮助!
答案 2 :(得分:0)
好的,我现在知道了,这对我有用:
# Redirect anything except subdomains
RewriteCond %{HTTP_HOST} !^(.*)\.myproject\.com$ [NC]
# Redirect to myproject.com/login, preserving the URI
RewriteRule ^(.*)$ https://myproject.com/login/ [L,R=302]