Apache 修改“重写”;“虚拟子域”;重定向不工作
我刚从Litespeed主机转移到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
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]