使用正则表达式检查htaccess中子域的特定长度

时间:2016-10-21 13:15:23

标签: regex apache .htaccess mod-rewrite url-rewriting

我试图将2层级子域名过滤到我的网站。

表格如下:

[country]。[category] ​​.mywebsite.com~其中country是2个字符。

我试图为3种排列设置重写规则:

-[country].[category].mywebsite.com = mywebsite.com?country=%1&category=%2
-[category].mywebsite.com = mywebsite.com?category=%1
-[country].mywebsite.com = mywebsite.com?country=%1

以下是我目前的情况。

RewriteCond %{HTTP_HOST} !www.mywebsite.com$ [NC] # Presuming you don't want to do www
RewriteCond %{HTTP_HOST} ^(.*)\.(.*)\.mywebsite\.com [NC] # Catch subdomain
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|png|gif|bmp|php)$ [NC]
RewriteRule ^(.*)$ index.php?country=%1&category_subs=%2 [QSA,L]

我不确定是否有任何方法可以按长度过滤正则表达式,以便我可以过滤掉所有2个字符的子域名。

任何帮助或建议非常感谢。感谢。

1 个答案:

答案 0 :(得分:0)

这些可能会让你开始(根据需要添加标志和附加条件):

public IEnumerable<TBaseClass> GetByType() where TBaseClass : BaseClass {
    return context.Set<BaseClass>().OfType<TBaseClass>();
}