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

当前代码

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

我想提供在 **.example.com* 之后指定的文件路径以及表单中的子域名的handle.php handle.php?path=x&subdomain=y.

非常感谢任何帮助!

有帮助吗?

解决方案

可以访问该信息与$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI'](是否还包含查询):

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

其他提示

你需要使用

RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).example.com [NC]
RewriteRule ^(.*)$ %1/$1 [L]
  • %1 是子域名
  • $1 是一个请求
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top