首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServerAlias影响$_SERVER['SERVER_NAME']?

ServerAlias影响$_SERVER['SERVER_NAME']?
EN

Stack Overflow用户
提问于 2012-03-31 06:17:54
回答 2查看 1.5K关注 0票数 2

基本上我有一个经典的vhost:

代码语言:javascript
复制
ServerName www.site.com
ServerAlias site.com

我希望即使有人打开site.com,我也希望始终保持$_SERVER['SERVER_NAME'] = 'www.site.com';

这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-31 06:20:09

不,PHP对ServerName,ServerAlias等一无所知。

正确的解决方案是将您的all服务器配置为从所有别名域重定向到主域。从SEO的角度来看,这也是一件好事。

您可以这样做,例如使用mod_rewrite

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteCond %{HTTP_HOST} (.+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

如果你有额外的域名,只需为它们设置一个单独的VirtualHost,它会重定向到你的主域:

代码语言:javascript
复制
<VirtualHost ...>
        ServerName site2.com
        ServerAlias *.site2.com
        Redirect / http://www.site.com/
</VirtualHost>
票数 3
EN

Stack Overflow用户

发布于 2012-03-31 06:22:20

通常,最佳实践是将www重定向到空域,反之亦然。您可以通过将以下内容添加到.htaccess中来完成此操作:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]

这样,site.com将重定向到www.site.com,并且您将只在SERVER_NAME变量中看到www.site.com

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9951098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档