Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htaccess 将不存在的子域重定向到www子域,但不重定向到现有子域_.htaccess_Redirect_Rewrite - Fatal编程技术网

.htaccess 将不存在的子域重定向到www子域,但不重定向到现有子域

.htaccess 将不存在的子域重定向到www子域,但不重定向到现有子域,.htaccess,redirect,rewrite,.htaccess,Redirect,Rewrite,我想将不存在的域重定向到www子域,但同时不重定向现有子域。例如: domain.com --> www.domain.com existingsubdomain.domain.com --> existingsubdomain.domain.com nonexistingsubdomain.domain.com --> www.domain.com 到目前为止,我只能找到重定向一切(甚至是现有的)的例子,我需要的是一切(到www)+例外(现有子域) 我正在使用apache.

我想将不存在的域重定向到www子域,但同时不重定向现有子域。例如:

domain.com --> www.domain.com
existingsubdomain.domain.com --> existingsubdomain.domain.com
nonexistingsubdomain.domain.com --> www.domain.com
到目前为止,我只能找到重定向一切(甚至是现有的)的例子,我需要的是一切(到www)+例外(现有子域)

我正在使用apache
.htaccess
,这样的规则会是什么样子

我发现了一个可以这样做的例子:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http:// www.%{HTTP_HOST}/$1 [L,R=301]
nonexistingsubdomain.domain.com --> www.nonexistingsubdomain.domain.com
但它只能做到这一点:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http:// www.%{HTTP_HOST}/$1 [L,R=301]
nonexistingsubdomain.domain.com --> www.nonexistingsubdomain.domain.com
怎么样

ErrorDocument 404 http://www.domain.com

这取决于您在服务器端构建子域的方式。例如,您将为每个子域设置一个
VirtualHost
,并使用
*.domain.com
设置一个全面回退,然后在需要时重定向
www.domain.com
。但正如前面所说,这在很大程度上取决于您在服务器上如何构造子域。顺便说一句,如果您提出问题,请确保检查预览中的格式,以使其可读(例如,添加所需的换行符,以突出显示代码块)