您好,匿名用户
随意问技术百科期待您的加入

apache如何将顶级域名跳转到www子域名中?

+3 投票

我的项目是PHP项目,使用的是apache服务器,现在www域名指向这台服务器。

我想将在浏览器中输入顶级域名,然后自动跳转到www子域名中,求解决方法。

用户头像 提问 2012年 12月1日 @ Libra 上等兵 (351 威望)
编辑 2012年 12月30日 @Saber
分享到:

1个回答

+2 投票
 
最佳答案

可以使用apache的rewrite功能

 配置步骤

  第一步:找到apache的配置文件httpd.conf(文件在conf目录下)

  第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商。

  打开httpd.conf,找到

  #LoadModule rewrite_module modules/mod_rewrite.so

  把#去掉

  找到AllowOverride None 改成 AllowOverride All

  :AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写。Apache 服务器要读每个网站下目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则就不会有任何效果。

  对于不同的网址,需要在APACHE中增加如下内容

  <Directory “E:/Apache Group/Apache2/htdocs/leapsoul”>

  /*引号里代表你的web存放目录*/

  /*如果是Linux,只要你定位到你网站目录即可*/
   Options FollowSymLinks
   AllowOverride None

  </Directory>

  第三步:重启apache服务器,先按stop再start。

  第四步:在你需要URL重写的网站目录下放一个.htaccess文件,文件名是.htaccess,Windiws下不能直接建立,你可以用记事本另存为。

  :我测试的时候在每个需要伪静态的目录下都存放了对应的.htaccess文件,同时在httpd.conf文件中像第二步那样对相关的目录添加了相应的<Directory>..</Directory>代码。

  第五步:在.htaccess中通过正则表达式实现功能,参考代码如下所示:

       # url canonicalization

  RewriteCond %{http_host} ^0531fk.cn [NC]

  RewriteRule ^(.*)$ http://www.0531fk.cn/$1 [L,R=301]

本文来自:http://www.suiyiwen.com/question/4170

用户头像 回复 2012年 12月1日 @ Saber 中士 (1,234 威望)
编辑 2012年 12月7日 @Saber
提一个问题:

相关问题

0 投票
1 回复 71 阅读
0 投票
1 回复 75 阅读
0 投票
1 回复 38 阅读
0 投票
1 回复 24 阅读
用户头像 提问 2013年 12月29日 @ Blitzcrank 上等兵 (358 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...