Regex Apache mod_rewrite(RewriteCond)过滤掉;在两者之间;单词

Regex Apache mod_rewrite(RewriteCond)过滤掉;在两者之间;单词,regex,apache,.htaccess,mod-rewrite,rewrite,Regex,Apache,.htaccess,Mod Rewrite,Rewrite,(我不太习惯于重写cond,所以我只是在谷歌上搜索并使用现有的东西。) 现在我有一段.htaccess代码,输入后会重写为不同的URL: RewriteCond %{HTTP_HOST} ^(.*).example.com$ RewriteRule ^(.*)$ http://www.example.com/%1/$1 [P,L,NS] 通过使用它,它将通过获取“子域”输入进行重写,然后将其作为文件夹放入输出中。让我们说: 输入: 输出: 输入: 输出: 所以这是可行的。 现在我需要的是在

(我不太习惯于重写cond,所以我只是在谷歌上搜索并使用现有的东西。)

现在我有一段
.htaccess
代码,输入后会重写为不同的URL:

RewriteCond %{HTTP_HOST} ^(.*).example.com$
RewriteRule ^(.*)$ http://www.example.com/%1/$1 [P,L,NS]
通过使用它,它将通过获取“子域”输入进行重写,然后将其作为文件夹放入输出中。让我们说:

  • 输入:
  • 输出:
  • 输入:
  • 输出:
所以这是可行的。
现在我需要的是在现有的基础上再复杂一点


如何通过
RewriteCond

假设我有两个级别的子域。然后我只想选择/过滤上面的一个。这意味着:

  • 输入:
  • 输出:
(输入也可以是:
dev.member
dev.pricing
,等等)

如何从
dev.support
string中筛选
support
word?
当前
^(.*).example.com$
仅适用于最左边的项目

以下一项不起作用:

RewriteCond %{HTTP_HOST} dev.^(.*).example.com$
RewriteRule ^(.*)$ http://dev.example.com/%1/$1 [P,L,NS]

请建议。

在您的正则表达式中
^
需要放在模式的开头,并使用
[^.]+
*
更好的模式

您可以使用:

RewriteCond %{HTTP_HOST} ^dev\.([^.]+)\.example\.com$
RewriteRule ^(.*)$ http://dev.example.com/%1/$1 [P,L,NS]