Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在动态创建的子域前添加www?_Php_.htaccess_Dns_Subdomain - Fatal编程技术网

Php 如何在动态创建的子域前添加www?

Php 如何在动态创建的子域前添加www?,php,.htaccess,dns,subdomain,Php,.htaccess,Dns,Subdomain,我想在动态创建的子域前面添加www。 子域是使用cpanel中的*.example.com创建的,因此用户可以通过前端创建自己的子域 我已在.htaccess中添加此代码,以将我的域定向到。但这不适用于子域 RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com [NC] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] R

我想在动态创建的子域前面添加www。 子域是使用cpanel中的*.example.com创建的,因此用户可以通过前端创建自己的子域

我已在.htaccess中添加此代码,以将我的域定向到。但这不适用于子域

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) https://example.com/$1 [L,R=301]

如何重写代码,以便在使用www.subdomain.example.com时,它可以指向subdomain.example.com?不影响我的主域名。我的主域和子域都将有www重定向。

使用正则表达式匹配子域,并使用重写cond backreference重定向回用户:

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com [NC]
RewriteRule ^(.*)$ https://%1.example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.([^\.]+)\.example\.com [NC]
RewriteRule (.*) https://%1.example.com/$1 [L,R=301]

[^\.]+
匹配一个或多个字符,点(
)字符除外
%1
重写第二个反向引用,提供对分组部分
([^\.]+)

的访问权限。是否要从子域中删除www并强制使用https?@Mohammed Elhag我想在子域前面启用www。用户可以使用www.subdomain.example.com或subdomain.example.com查看网站。这会影响主域吗?对不起,我对.htaccess没有太多的了解。我只需要在现有代码下面添加此代码?我的主域和子域,都需要在它们前面启用www。您能否澄清您的问题主域和子域的预期结果,并给出示例。用户可以使用www.subdomain.example.com查看subdomain.example.com,和www.example.com查看example.com。当前的.htaccess允许www.example.com直接访问example.com,但不允许www.subdomain.example.com直接访问subdomain.example.com。我想主域名和子域名可以直接到他们的目的地与www。