【问题标题】:mod_rewrite "virtual subdomain" redirect not workingmod_rewrite“虚拟子域”重定向不起作用
【发布时间】:2013-09-15 23:27:38
【问题描述】:

我刚刚从 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

并且它们可以工作,因此由于RewriteEngine on,mod_rewrite 似乎已经启用。

有什么提示吗? 谢谢

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

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我看到您的问题已经解决,但这里有几点需要注意。

      您需要RewriteCond 中的转义符而不是RewriteRule 中的转义符,否则. 将接受任何字符,例如nixxfoo.com。您还可以将您的两个 HTTP_HOST 条件合并为一个,并且无需使用 (.*) 捕获 URL,因为在替换期间不会引用它。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-22
        • 2011-09-16
        • 2012-07-04
        • 1970-01-01
        • 2022-01-12
        • 1970-01-01
        相关资源
        最近更新 更多