我制作了自动创建子域的脚本。
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获取/匹配当前网址中的当前域?
可能需要将域名作为变量。
谢谢
答案 0 :(得分:2)
我相信这个RewriteCond
应该适合你:
RewriteCond %{HTTP_HOST} ^(?:www\.)?((?!www\.)[^.]+)\.([^.]+\.[^.]+)$ [NC]
所以前者;使用http://www.sub.domain.com
之类的网址,它会捕获sub
变量中的%1
和domain.com
变量中的%2
。
答案 1 :(得分:0)
除了anubhava的回答,如果您需要在domain.com
%3
之后捕获其余网址,您可以使用以下RewriteCond
RewriteCond %{HTTP_HOST} ^(?:www\.)?((?!www\.)[^.]+\.)?([^/.]+\.[^/.]+)/?([^/]+)?$ [NC]