首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >apache从非www重定向到www

apache从非www重定向到www
EN

Stack Overflow用户
提问于 2009-07-08 20:22:23
回答 20查看 249.8K关注 0票数 223

我有一个网站,似乎不会从非www重定向到www。

我的Apache配置如下:

代码语言:javascript
复制
RewriteEngine On
### re-direct to www
RewriteCond %{http_host} !^www.example.com [nc]
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc] 

我遗漏了什么?

EN

回答 20

Stack Overflow用户

回答已采纳

发布于 2009-07-08 20:26:32

使用重写引擎是解决此问题的一种非常重要的方法。这里有一个更简单的解决方案:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    # real server configuration
</VirtualHost>

然后,您将拥有另一个包含ServerName www.example.com的部分,用于您的实际服务器配置。在使用Redirect directive时,Apache会自动保留/之后的任何内容,这是对此方法不起作用的常见误解(实际上它确实起作用了)。

票数 540
EN

Stack Overflow用户

发布于 2012-07-24 19:24:46

http://example.com/subdir/?lold=13666 => http://www.example.com/subdir/?lold=13666

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

Stack Overflow用户

发布于 2009-07-08 20:32:05

代码语言:javascript
复制
<VirtualHost *:80>
    ServerAlias example.com
    RedirectMatch permanent ^/(.*) http://www.example.com/$1
</VirtualHost>
票数 54
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1100343

复制
相关文章

相似问题

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