mod_rewrite“虚拟子域”重定向无法正常工作

时间:2013-09-15 14:03:13

标签: 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_rewrite重定向,例如

RewriteRule ^foo.php$ bar.php

并且它们有效,所以mod_rewrite似乎已经被RewriteEngine on启用了。

任何提示? 感谢

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我发现您的问题已得到解决,但这里需要注意几件事。

您需要RewriteCond中不在RewriteRule中的转义符,或.中的转义符号将接受nixxfoo.com所在的任何字符。您还可以将两个HTTP_HOST条件合并为一个,并且无需使用(.*)来捕获该网址,因为在替换期间不会引用该网址。

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