我已经看过Regex not equal to string和Regular expression for a string that does not start with a sequence,但我找不到正则表达式的正确解决方案。
我需要这样做:“如果我的主机不是以eiter s
,m
或www
之类的(s.example.whatever
,m.example.whatever
或www.example.whatever
)然后将其重定向到www.example.whatever
。
像这样:
RewriteCond %{HTTP_HOST} ((.+)\.)+example\.(.+)$
RewriteCond %2 ^(?!s|m|www$)
RewriteRule (.*) http://www.example.com$1 [R=301,QSA,L]
https://regex101.com/多次尝试后无效 我错过了什么?
答案 0 :(得分:1)
您可以在RewriteCond
中使用否定:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(s|m|www)\. [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=301,NE,L]