0

很难在标题中说明..我的问题是:

这是我的 .htaccess :

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
</IfModule>

如果我在 url 中输入带有“www”的域,例如“www.home.com”,我会在 $_SERVER['SERVER_NAME'] 中输入带有“www”的 url,但是如果我输入的域中没有“ www" 就像http://home.com一样,"www" 存在于 $_SERVER['SERVER_NAME'] 变量中,当我使用自定义函数创建 URL 时,服务器无法创建正确的 URL(即使始终插入 "www"不在 URL 中)并得到一些权限错误(如 json 或 webservices,因为域不匹配)。

我认为这是一个 .htaccess 问题,而不是 PHP(想想..)

4

2 回答 2

4

$_SERVER['SERVER_NAME']来自网络服务器配置,例如 Apache 的ServerName. 如果您想要 url 中提供的主机名,则有$_SERVER['HTTP_HOST']

于 2012-12-04T20:32:20.740 回答
3

$_SERVER['server_name'] 来自虚拟主机配置。

于 2012-12-04T20:31:52.153 回答