2012-05-04 156 views
2

我有一个国防部重写,目前重定向子域到url重定向mod_rewrite和htaccess?

domain.com/folder/user

domain.com/folder.php?username=user

使用:

重写规则^文件夹/(.+)$ folder.php?用户名= $ 1 [QSA,L]

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

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

+0

在主机上如何配置虚拟服务器? – hakre

+0

不知道我是否理解正确,但我使用Apache,它们设置在httpd.conf中...我有根级别的访问权限,虽然如果有帮助。 – user1227914

+0

您可以在下面找到答案,只要所有域指向同一区域即可显示如何管理该答案。 – hakre

回答

1

工作原理:

  • 提取userhttp://user.domain.com/,节省了反向引用其与​​。
  • 请求的主机名存储在服务器变量中。

    enter image description here 图:通过规则的回参考流。 在此示例中,对/test/1234的请求将转换为/admin.foo?page=test&id=1234&host=admin.example.comSource

  • RewriteRule使用RewriteCondition的反向引用。

  • 参见在RewriteRule部分注:

    如果你想对阵的主机名,端口或查询字符串,使用的RewriteCond与%{HTTP_HOST}%{SERVER_PORT},或% {QUERY_STRING}变量。

  • 配置您的(虚拟)服务器以侦听您想要在其中重写的所有域,以确保所有请求都被传递到您的服务器的相同部分/根目录,您可以在其中进行重写。否则,您需要在内部进行代理。