• 购物车 

    我的购物车

    件商品
    去购物车结算
  • 在线充值 
  • 提交工单
  • 备案平台
  • 帮助中心

欢迎您来到风易在线

让伪静态urlReWrite支持子站点的写法

首先请您确认您所购买的虚拟主机空间或者合租空间包含 Rewrite 功能,风易在线提供的WINDOWS虚拟主机全面支持该功能。该功能在主机管理面板,ISAPI管理,点击“开启自定义规则”即可。

原理是我们通过在IIS中安装一个名为 ISAPI_Rewrite 的ISAPI筛选器来实现 Rewrite 功能,您需要做的事情只有一个,就是用记事本等文本编辑软件修改配置文件 httpd.ini,新版本的为httpd.conf文件 ,该文件位于FTP根目录/others/discuz/目录。有关该组件的详细使用方法,您可以登录该组件官方网站 http://www.helicontech.com/ 来学习,这里我们举一个简单的例子来说明它的用法。

假设您要实现这样的 Rewrite 功能:您希望当用户访问 /index.html 的时候实际访问的是 /index.asp (您的空间里可以并不需要存在 index.html文件)。
规则如下:RewriteRule /index\.html /index.asp

Rewrite 是一个功能强大的平台,要真正的使用它,您可能要花费相当长的时间来学习。如果您使用像 Discuz! 论坛、SHOPEX商城等支持伪静态的系统,而仅仅是需要使用伪静态功能,那么您可以不必学习,直接复制论坛开发者提供的配置文件即可,但要注意配置文件必须命名为 httpd.ini或httpd.conf文件 ,并且这个文件必须放在网站的FTP根目录/others/discuz/目录下。
httpd.ini或httpd.conf 修改或者上传后一般会立即生效,如果长时间不能生效,请登录主机控制面板将网站停止然后再启动。

怎样借助 Rewrite 功能为特定的域名显示特定文件夹中的内容?也就是我们通常所说的子目录 子站点功能。
要求如下:
我们输入www.wind88.net访问时,实际上我们要让他访问网站根目录的wwwroot目录;
我们输入bbs.wind88.net访问时,实际上我们要让他访问网站根目录的 bbs目录,以此类推。
那么我们可以使用以下规则:旧版httd.ini写法:
RewriteCond Host: bbs\.wind88\.net
# 表示下一行规则只对 bbs.wind88.net 生效(正则表达式中 \. 表示 . 本身)。
RewriteRule ^(.*)$ /bbs/$1 [I]
# 表示将所有网页 Rewrite 到 bbs文件夹中,[I]表示忽略大小写。
新版 httpd.conf写法:

RewriteCond %{HTTP:Host} ^bbs\.wind88\.net$
RewriteRule (.*) /bbs/$1 [I]

LIUNX平台的htaccess的写法也是大同小异的,规则如下:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^bbs.\wind88\.net$
RewriteRule ^(.*)$ /bbs/$1 [L]

注意:如果子目录也需要伪静态功能,我们还要把子目录系统的htaccess文件放在子目录下面。

通过这个方法,您可以将捆绑在网站上的任何一个域名采用任何特定的 Rewirte 规则,实现类似捆绑子目录,子站点的功能当然也是不在话下。这样,您的空间能捆绑多少个域名,您就可以建立多少个内容不同的独立网站了。

Tags: ,