regex - htaccess 自动检测域名

标签 regex apache .htaccess mod-rewrite

我制作了自动创建子域的脚本。

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/

相关文章:

svn - 匿名 SVN checkout ,但验证提交

regex - htaccess 正在重写整个 URL 并保留子目录

python - 如何将确切的单词与正则表达式 python 匹配?

regex - 使用正则表达式提取方括号中的字符串

Perl CGI 脚本根据运行返回不同的结果

django - 将django-socketio添加到现有的Apache/mod_wsgi/Django站点

php - .htaccess 重定向损坏的 URL

.htaccess - 4 级子域重定向而不使用 .htaccess 更改 URL

ios - 使用 NSRegularExpression 匹配 or ( | ) 的所有可能部分

regex - 如何匹配所有国际化文本?