借助Rewrite组件实现一个空间建多个网站

/ 2评 / 0

1、什么是Rewrite功能,它有什么用?

习惯使用PHPCMS程序源码的站系统的朋友,对Rewrite这个功能一定不会陌生,虽然它只是服务器上一个,但是功能却是非常强大

微知昨天在看我的主机商的一些功能介绍的时候注意到Rewrite这个可以让我一个空间支持无限的网站数量,所以尝试了一下,跟大家分享

Rewrite是一种服务器的重写脉冲技术,安装了Rewrite的服务器可以支持URL静态重写,也就是我们经常所说的静态化或者设置固定链接的功能

通过编写一定的代码,还可以使用Rewite发挥封掉IP对本机的访问,甚至可以转移这个特定的IP跳转到其它网站上,从而减少外界对服务器的攻击或者消耗巨大资源

能绑定多少域名,就能建立多少独立的网站

我们知道,大多数虚拟主机空间是不支持子目录绑定的,以此来限制一台服务器上运行的网站数量,降低服务器资源消耗

Rewrite在WordPress用户之间被称为支持伪静态、静态重写,一般来说我们只是用来设置固定链接和伪静态链接URL

而如果你的虚拟主机支持Rewrite的话,我们可以将绑定的任何域名指向任意子目录,从而在一个空间支持更网站

就是说你的虚拟主机能绑定多少域名,就能建立多少独立的网站一个虚拟主机空间上,确实非常强大的功能

2、如何通过设置Rewirte让指定IP重新定向访问其它网站

如果我们要把8.8.8.8这个IP,直接重定向到微知博客的首页,在网站根目录的.htaccess文件里添加以下代码:

Code:
RewriteCond % 8.8.8.8 [NC]RewriteRule ^(.*)$ http://www.wiseboke.com/$1 [R=301] 将 8.8.8.8 这个IP替换成您要限制的IP即可
如果要实现 IP ,可以这样写:
Code:
RewriteCond % 8.8.8.8 [OR]RewriteCond % 9.9.9.9 [NC]RewriteRule ^(.*)$ http://www.wiseboke.com/$1 [R=301]

3、使用Rewrite各种功能的前提准备

根据网上资料说,我们通过在IIS中安装一个名为ISAPI_Rewrite 的ISAPI筛选器来实现Rewrite 功能

这个应该就是说的Rewrite功能,如果我们的虚拟主机上已经安装了,实现支持这个Rewrite功能的话,就不用看了

我们需要做的就是修改配置文件httpd.ini,有关该的详细使用方法,你可以登录Rewrite官方网站来学习深度技巧

4、使用Rewrite实现重定向的具体方法步骤

假设我们要实现这样的Rewrite功能:当用户访问/about.html 的时候实际访问的是/index.html

你的空间里可以并不需要存在about.htm,设置之后让访问about.htm的朋友全部访问的是index.html,也就是重定向了

设置的具体方法步骤是:

第一、创建一个文本文件(Windows自带的记事本生成的文件,后缀为.txt),内容为

[ISAPI_Rewrite]
RewriteRule /about\.htm /index.html

这里,RewriteRule这一行即为规则行,这一行由三部分组成,三部分由空格隔开,第一部分即RewriteRule 这几

第二部分为用户访问的地址(使用正则表达式),第三部分为实际存在于服务器上的文件路径

第二、将上述文件保存,命名为httpd.ini

如果看不到文件后缀,D盘—工具—文件夹选项—查看—去掉”隐藏已知文件扩展名”前面的勾—确定—搞定

第三、将这个文件上传到您的网站根目录中,对于我们的虚拟主机,即上传至 /web 文件夹中

虚拟主机空间不一样,请根据自身情况调整,现在访问about.htm 的时候,看到的就是index.html 的内容

5、使用Rewrite实现一个空间网站的具体方法步骤

这是Rewrite功能的巧用,因为我们既然可以将/about.htm重写为/index.html,我们也就可以把 /about.htm 重写为/about/

有两域名www.wiseboke.com 和 www.ablogsite.com,我们让访问 www.wiseboke.com 时看到的是网站根下的内容

而访问 www.ablogsite.com时看到的是 /blog/ 文件夹中的内容,使用Rewrite就很容易实现这样的功能

那么设置步骤如下:

第一、网站捆绑域名www.wiseboke.com 和www.ablogsite.com,这时候两域名访问的都是网站根目录下文件

第二、修改前面讲过的httpd.ini文件,在前面已经添加的代码后面,增加以下内容:

RewriteCond Host: www\.ablogsite\.com
# 表示下一行规则只对 www.ablogsite.com生效(正则表达式中 \. 表示 . 本身)
RewriteRule ^(.*)$ /wenso/$1 [I]
# 表示将所有网页 Rewrite 到 wenso 文件夹中,[I]表示忽略大小写

确保上面代码在 [ISAPI_Rewrite] 行下面,如果网站不存在httpd.ini 文件,请将上述内容前面加上[ISAPI_Rewrite]

第三、将修改后的 httpd.ini上传到网站根下覆盖原文件

这样就可以将绑定在网站上的任何一个域名采用任何特定的Rewirte规则,实现类似绑定子目录的功能

理论上说,按照上述操作,我们的虚拟主机空间能绑定多少域名,就可以建立多少内容不同的网站

6、配置文件httpd.ini的代码编写说明

Rewrite一个功能强大的开发平台,要真正的用好它,可能要花费相当长的时间来学习,对一般朋友不必要

如果使用像Discuz! 论坛等支持伪静态的系统,而仅仅是需要使用伪静态功能,那么可以不必学习太相关内容

直接复制论坛开发者提供的配置文件即可,但要注意配置文件必须命名为httpd.ini,这个文件必须放在网站的根目录下

httpd.ini 修改或者上传后一般会立即生效,如果长时间不能生效,请登录主机控制面板将网站停止然后再启动

7、借助Rewrite实现一个空间网站的功能声明

以上所说的配置功能和方法,经过微知博客验证,确实可行有效,请大家按照上述方法进行操作即可

微知不懂技术,有相关技术性问题和想进阶学习代码的朋友自己搜索一下,以上内容微知只是整理和测试,谢谢支持

  1. kuaizi说道:

    排版要弄好点,都乱了

  2. 自定义导航说道:

    这个组建哪里下载

发表回复

您的电子邮箱地址不会被公开。