Apache重写引擎,获取其后的子域和路径
-
21-08-2019 - |
题
我有将子域重写到另一个页面的基本代码。但是我如何使用它来获取其中指定的目录的路径并将其传递给我的脚本以及子域本身?
当前代码
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
是一个请求
不隶属于 StackOverflow