我制作了自动创建子域的脚本。
htaccess 工作正常, 但问题是,我需要在新域上安装时手动更改域名。
我想在 htaccess 中自动检测域名,可以吗?
因此,当添加另一台服务器或新域时,无需再次更改域根 htaccess。
域根 htaccess 是:
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9][-a-z0-9]+)\.mydomain\.com(:80)?$ [NC]
RewriteCond %{HTTP_HOST} !^www\.mydomain\.com
我尝试更改自动从%{HTTP_HOST}
获取
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9][-a-z0-9]+)\.%{HTTP_HOST}(:80)?$ [NC]
RewriteCond %{HTTP_HOST} !^www\.%{HTTP_HOST}
问题出在%{HTTP_HOST}
,
如何使用 htaccess 获取/匹配当前 url 中的当前域?
可能需要获取域名作为变量。
谢谢
最佳答案
我相信这个 RewriteCond
应该适合你:
RewriteCond %{HTTP_HOST} ^(?:www\.)?((?!www\.)[^.]+)\.([^.]+\.[^.]+)$ [NC]
所以对于前者;使用类似 http://www.sub.domain.com
的 URL,它将捕获 %1
变量和 域中的
在 sub
。 com%2
变量中。
关于regex - htaccess 自动检测域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19427256/