【问题标题】:Getting a part of URL in apache在apache中获取URL的一部分
【发布时间】:2013-06-15 18:20:44
【问题描述】:

我在我的 apache 中设置了通配符虚拟主机

<VirtualHost *>
  ServerName wildcard.test.com
   ServerAlias *.test.com

   DocumentRoot = /var/www/test
   # other configuration for this app here

</VirtualHost>

我创建了一些子域,例如 front.test.comadmin.test.com。我只是想知道 APACHE 中是否有办法像上述情况一样获取 URL 的第一部分,我想要 testadmin 并以某种方式将其发送到我的服务器端语言。我再说一遍,正如人们常说的那样,我正在 apache 中寻找一种可能的方法

你不能总是相信 $_SERVER 返回的东西 在确认在 apache 上没有任何方法后,我会去服务器端 谢谢

【问题讨论】:

  • 嗯,什么?为什么你不能相信 $_SERVER 返回的东西? $_SERVER['SERVER_NAME'] 会返回你服务器的主机名,为什么你不能相信这个?
  • 好吧,留下我的“不信任台词”。在Php之外没有其他方法吗?

标签: php apache wildcard vhosts


【解决方案1】:

$_SERVER 可以信任。 $_SERVER 中的所有内容都是“真实的”。但这并不是说你应该相信它。 它包含 Query_String、HTTP_HOST ……这些来自用户提出的请求。这是不应该被信任的用户。

如果有人输入 foo.test.com,那么 'foo.test.com' 将是 $_SERVER['HTTP_HOST'] 的值;

所以我真的不明白问题出在哪里。

【讨论】:

  • @Ahmed 你还可以访问 HTTP_HOST int .htaccess: %{HTTP_HOST} 所以你可以创建一个重写规则: RewriteCond %{HTTP_HOST} front.test.com
猜你喜欢
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多