2

我有一个当前重定向的 mod 重写

domain.com/文件夹/用户

domain.com/folder.php?username=user

使用:

RewriteRule ^folder/(.+)$ folder.php?username=$1 [QSA,L]

但是,我需要做的是将http://user.domain.com/重定向到http://www.domain.com/folder.php?username=user。如果可能的话,我可以排除某些子域(如 www.mail.等)。

我该怎么做?任何帮助是极大的赞赏 :)

4

1 回答 1

2

这个怎么运作:

  • 提取userhttp://user.domain.com/保存对它的反向引用RewriteCondition
  • 请求的主机名存储在Server-Variable中。

    在此处输入图像描述 图片 : 通过规则的反向引用流。在此示例中,请求/test/1234将转换为/admin.foo?page=test&id=1234&host=admin.example.com. 来源

  • RewriteRule使用RewriteCondition' 的反向引用。

  • 另请参阅本RewriteRule节中的注释:

    如果您希望匹配主机名、端口或查询字符串,请分别使用带有 %{HTTP_HOST}、%{SERVER_PORT} 或 %{QUERY_STRING} 变量的 RewriteCond。

  • 配置您的(虚拟)服务器以侦听您要在其中重写的所有域,以确保所有请求都传递到服务器的同一部分/根目录中,您可以在其中进行重写。否则,您需要在内部进行代理。
于 2012-05-04T09:22:27.783 回答