justhost将主域名重定向到子目录下

2012-07-30 23:07 by Elliot

原本我的博客是安装在服务器的根目录(public_html)下的,但是我又向这个服务器添加了一个域名后,就显得文件很乱,在网上看到有将主域名重定向到子目录下的方法如下:

修改public_html目录下的“.htaccess”文件,加入下面的一些语句即可。注意按提示修改语句中的一些内容,使之与你的网站相匹配。

RewriteEngine on
 
# 下行中把“yourwebs.com”改为你自己的域名
RewriteCond %{HTTP_HOST} ^(www.)?yourwebs.com$
 
# 下行中将“子目录名”修改为你要将主域名指向的子目录
RewriteCond %{REQUEST_URI} !^/子目录名/
 
# 以下两行不要修改
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
# 下行中将“子目录名”修改为你要将主域名指向的子目录
RewriteRule ^(.*)$ /子目录名/$1
 
# 下行中把“yourwebs.com”改为你自己的域名
RewriteCond %{HTTP_HOST} ^(www.)?yourwebs.com$
 
# 下行中将“子目录名”修改为你要将主域名指向的子目录,如果你的首页的文件不是index.php,则修改为你自己的,如index.html
RewriteRule ^(/)?$ 子目录名/index.php

要说明的是这种方法不只适用于justhost主机,只要是以apache作为web服务器的主机都是适用的

但是出现了一个问题就是虽然重定向后主页显示正常,但是只要打开任何其它页面或主题就会出404 error,提示无法找到页面。

在网上找到了这个帖子,相同的问题,可是也没有解决的办法。

后来我到数据库中查看了一下帖子和页面的链接,发现都是默认的固定链接,也就是http://www.elliotwhisper.com/?p=123这样的形式的,而我曾在后台把固定链接设置为自定义的/%postname%.htm形式,于是我抱着试试看的态度在后台把固定链接改回了默认模式,问题竟然真的解决了。之后我再重新改为自定义的模式也没有问题了。

这个问题被我误打误撞的解决了,但也只是知其然而不知其所以然,如果有知道原因的朋友还希望能不吝赐教~

本文基于 署名 2.5 中国大陆 许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名 Elliot 并包含 原文链接
发表评论

本文有 5 条评论

  1. 飞翔NBA
    2013-06-14 10:33

    收藏,不错的方法!还有其它方法吗?

  2. godaddy 优惠码
    2013-08-02 17:06

    这种方法维护起来麻烦,网站以后再做改动空拍会出问题

    • Elliot
      2013-08-02 17:21

      可不可以具体说说麻烦在什么地方?可能会出现什么问题?

发表评论