.htaccess - if 语句:主机包含(不等于)子域
.htaccess - if statement: host contains (not equals) subdomain
我的 .htaccess 中有这些语句,以匹配子域:
<If "req('Host') == 'subdomain.domain.com'"></If>
<If "req('Host') == 'subdomain.staging.domain.com'"></If>
如何编写这些语句,以便这些子域的子域也匹配:
s1.subdomain.domain.com
s1.subdomain.staging.domain.com
像这样:
<If "req('Host') contains 'subdomain.domain.com'"></If>
<If "req('Host') contains 'subdomain.staging.domain.com'"></If>
您正在查找“正则表达式”。
您上面的示例将转换为:
<If "req('Host') =~ /^(?:s1\.)?subdomain\.domain\.com$/">
<If "req('Host') =~ /^(?:s1\.)?subdomain\.staging\.domain\.com$/">
接受任何“子域”的更通用版本应该是这样的:
<If "req('Host') =~ /^(?:.+\.)*subdomain\.domain\.com$/">
<If "req('Host') =~ /^(?:.+\.)*subdomain\.staging\.domain\.com$/">
我的 .htaccess 中有这些语句,以匹配子域:
<If "req('Host') == 'subdomain.domain.com'"></If>
<If "req('Host') == 'subdomain.staging.domain.com'"></If>
如何编写这些语句,以便这些子域的子域也匹配:
s1.subdomain.domain.com
s1.subdomain.staging.domain.com
像这样:
<If "req('Host') contains 'subdomain.domain.com'"></If>
<If "req('Host') contains 'subdomain.staging.domain.com'"></If>
您正在查找“正则表达式”。
您上面的示例将转换为:
<If "req('Host') =~ /^(?:s1\.)?subdomain\.domain\.com$/">
<If "req('Host') =~ /^(?:s1\.)?subdomain\.staging\.domain\.com$/">
接受任何“子域”的更通用版本应该是这样的:
<If "req('Host') =~ /^(?:.+\.)*subdomain\.domain\.com$/">
<If "req('Host') =~ /^(?:.+\.)*subdomain\.staging\.domain\.com$/">