Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Apache重定向问题_Apache_Mod Rewrite_Redirect - Fatal编程技术网

Apache重定向问题

Apache重定向问题,apache,mod-rewrite,redirect,Apache,Mod Rewrite,Redirect,我认为这个重定向会起作用,但它不是: RewriteCond %{HTTP_HOST} ^(.*)\.sub\.my-domain\.com$ RewriteRule ^(.*)$ http://sub.my-domain.com/$0 [R=301,L] 它的工作原理如下: *.sub.my-domain.com -> sub.my-domain.com 123.sub.my-domain.com -> sub.my-domain.com asdf.sub.my-domain.c

我认为这个重定向会起作用,但它不是:

RewriteCond %{HTTP_HOST} ^(.*)\.sub\.my-domain\.com$
RewriteRule ^(.*)$ http://sub.my-domain.com/$0 [R=301,L]
它的工作原理如下:

*.sub.my-domain.com -> sub.my-domain.com
123.sub.my-domain.com -> sub.my-domain.com
asdf.sub.my-domain.com -> sub.my-domain.com

实现这一点的最佳方法是使用虚拟主机容器,因为它不需要任何额外的解析

将所有内容重定向到
sub.my-domain.com
,同时保留任何路径

<VirtualHost *:80>
    ServerName *.sub.my-domain.com
    Redirect permanent / http://sub.my-domain.com/
</VirtualHost>

如果将
重写规则中的
$0
更改为
$1
,则应将
123.sub.my-domain.com
更改为
sub.my-domain.com/123
。这就是您想要实现的吗?不,我只希望
*.sub.my-domain.com
的所有子域重定向
sub.my-domain.com
。例如:
www.sub.my-domain.com
重定向到
sub.my-domain.com
。好的,一开始我有一些问题,因为我的反向dns,但现在都已修复并正常工作
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^sub\.my-domain\.com$ [NC]
RewriteRule ^(.*)$ http://sub.my-domain.com/$1 [R=301,NC,L]