.htaccess给PHP总是“www”包含在没有“www”的URL中

时间:2012-12-04 20:28:47

标签: php .htaccess redirect

很难在标题中徘徊......我的问题是:

这是我的.htaccess:

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

如果我在网址中使用“www”进入我的域名,例如“www.home.com”,我会在$ _SERVER ['SERVER_NAME']中输入带有“www”的网址,但是如果我进入该域名没有像http://home.com这样的“www”,当我使用自定义函数制作URL时,$ _SERVER ['SERVER_NAME'] varand中存在“www”,服务器无法制作正确的URL(总是插入“www”甚至如果不在URL中)并得到一些permision错误(如json或webservices,因为域不匹配)。

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

$ _ SERVER [&#39; server_name&#39;]来自vhost配置。