Apache 修改“重写”;“虚拟子域”;重定向不工作

Apache 修改“重写”;“虚拟子域”;重定向不工作,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我刚从Litespeed主机转移到Apache主机。 然而,这样的重定向停止了工作 RewriteCond %{HTTP_HOST} ^nix.foo.com$ [OR] RewriteCond %{HTTP_HOST} ^www.nix.foo.com$ RewriteRule ^(.*)$ "http\:\/\/www\.foo\.com\/nix\.php" [R=301,L] 在Firefox上,我收到一条“连接到服务器失败”的消息。 我尝试了更简单的mod_重写重定向,例如 Rewr

我刚从Litespeed主机转移到Apache主机。 然而,这样的重定向停止了工作

RewriteCond %{HTTP_HOST} ^nix.foo.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.nix.foo.com$
RewriteRule ^(.*)$ "http\:\/\/www\.foo\.com\/nix\.php" [R=301,L]
在Firefox上,我收到一条“连接到服务器失败”的消息。 我尝试了更简单的mod_重写重定向,例如

RewriteRule ^foo.php$ bar.php
而且它们可以工作,所以mod_rewrite似乎已经启用了,这要归功于
上的
RewriteEngine

有什么提示吗? 谢谢


编辑:似乎我所要做的就是创建一个空的“nix”文件夹,重定向就成功了。

似乎我所要做的就是创建一个空的“nix”文件夹,重定向就成功了。

我知道你的问题已经解决了,但这里有几件事需要注意

您需要在
RewriteCond
中进行转义,而不是在
RewriteRule
中进行转义,否则
将接受其位置上的任何字符,如
nixxfoo.com
。您还可以将两个
HTTP\u主机
条件合并为一个,无需使用
(.*)
捕获URL,因为在替换过程中不会引用它

RewriteCond %{HTTP_HOST} ^(www\.)?nix\.foo\.com$ [NC]
RewriteRule ^ http://www.foo.com/nix.php [R=301,L]