Apache重写引擎,获取子域和路径后

时间:2009-07-02 13:57:16

标签: apache mod-rewrite rewrite

我有将子域重写到另一个页面的基本代码。但是如何使用它来获取其中指定的目录的路径并将其传递给我的脚本以及子域本身?

当前代码

RewriteCond %{HTTP_HOST} ^([^.]+)(\.example\.com)$
RewriteRule ^$ handle.php [L]

我想提供带有**。example.com *之后指定的文件路径的handle.php以及 handle.php?path = x& subdomain = y

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您可以使用$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']访问该信息(还包含查询):

$path = preg_replace('/\?.*/', '', $_SERVER['REQUEST_URI']);
$subdomain = substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], '.'));

答案 1 :(得分:0)

您需要使用

RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).example.com [NC]
RewriteRule ^(.*)$ %1/$1 [L]
  • %1是子域名
  • $1是一个请求