利用.htaccess将域名绑定到子目录,一个空间建立多个站点

学习  ·  2009-11-02

利用.htaccess将域名绑定到子目录:

 

让你同一空间安装多个站点如何利用利用.htaccess绑定域名到子目录呢?

 

前提你的服务器要支持apache的Rewrite功能,

 

只有这样才能使用.htaccess,(基本上linux的主机都支持)

 

具体请询问空间服务商,网上搜索到的一些方法,大都是大同小异,

 

所提供的.htaccess代码更改方法如下:

# END WordPress

RewriteEngine on

# 把 yourdomain.com 改为你要绑定的域名.

RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$

# 把 subfolder 改为要绑定的目录.

RewriteCond %{REQUEST_URI} !^/subfolder/

# 不要改以下两行.

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

# 把 subfolder 改为要绑定的目录.

RewriteRule ^(.*)$ /subfolder/$1

# 把 yourdomain.com 改为你要绑定的域名

# 把 subfolder 改为要绑定的目录.

# subfolder/ 后面是首页文件index.php, index.html……

RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$

RewriteRule ^(/)?$ subfolder/index.php [L]



上面的方法效果不太好,不完美:在根目录放置了.htaccess文件,访问时候有个毛病就是图片无法显示:

刚才又找了一点东西,学习研究一番,发现一个很好的方法,.htaccess写法如下:

根目录的.htaccess如下:

 

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} ^((www|blog)\.)?anysns\.com$

RewriteCond %{REQUEST_URI} !^/blog/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /blog/$1

RewriteCond %{HTTP_HOST} ^((www|blog)\.)?anysns\.com$

RewriteRule ^(/)?$ blog/index.php [L]

RewriteCond %{HTTP_HOST} ^(www\.)?php20\.com\.cn$

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php [QSA,L]

</IfModule>



假如要绑定的是把anysns.com绑定到blog目录中,所以不仅要在根目录放置.htaccess文件,

还要在blog目录中放置.htaccess文件,blog目录中的.htaccess写法如下:

 

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On RewriteBase /blog

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /blog/index.php [L]

</IfModule>

# END WordPress

OK,搞定!

注意:windows系统在本地写.htaccess并命名是不可能的,可以先保存为1.htaccess类似的名字,

传到服务器上在修改成为.htaccess,为了安全起见最好把权限设置属性为644。

评论
lunliba
lunliba

我用的是WINDOWS2003,IIS的不知有没有办法用.htaccess

none
none

楼上2B

信阳招聘网
信阳招聘网

这样搞还是有问题啊

Vanish
Vanish

什么问题???

htaccess
htaccess

htaccess是个不错的功能

电脑知识
电脑知识

我不知道你说的"windows系统在本地写.htaccess并命名是不可能的"是什么意思。

我只能告诉你,我的Windows Vista可以使用.htaccess这个名字作为文件名,那么Windows 7应该也不会有问题

如有疑问,可邮件联系。

另外,建议体验一下新系统,老系统固然好,但是新系统的新功能,也是不错的噢。

Vanish
Vanish

经过我自己的测试 xp 和windows7下是无法创建这个文件名的!
Vista下没有测试过!
不知道你的意思是什么!这个文件可以下载并放到本地windows系统中!
但是我的意思是不能直接创建.htaccess这样一个文件名的文件!谢谢你的意见!

V-ZONE. All Rights Reserved. Theme Jasmine by Kent Liao.