Regex Apache mod_rewrite(RewriteCond)过滤掉;在两者之间;单词
(我不太习惯于重写cond,所以我只是在谷歌上搜索并使用现有的东西。) 现在我有一段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] 通过使用它,它将通过获取“子域”输入进行重写,然后将其作为文件夹放入输出中。让我们说: 输入: 输出: 输入: 输出: 所以这是可行的。 现在我需要的是在
.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]