15053971836 注册 / 登录

iis子目录伪静态

时间: 阅读:131
iis子目录伪静态

最佳回答

失控的影子

失控的影子

2023-01-15 10:20:58

步骤/方法
通过伪静态规则实现子目录绑定:apache+.htaccess或IIS+ISAPI_REWRITE+httpd.ini
Apache HTTP Server一般安装在类Linux服务器上,默认支持URL重写,一般虚拟主机用户将.htaccess文件放网站根目录就可以实现伪静态了,使用下面的伪静态规则就可以实现子目录绑定。
RewriteEngine on
# 把 ip.caoger.net改为你要绑定的域名,把 IPdir 改为要绑定的目录
RewriteCond %{HTTP_HOST} ^(www.)?ip.caoger.net$
RewriteCond %{REQUEST_URI} !^/IPdir/
# 不要改以下两行.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 把 IPdir 改为要绑定的目录.
RewriteRule ^(.*)$ /IPdir/$1
# 把ip.caoger.net 改为你要绑定的域名
# 把 IPdir 改为要绑定的目录.
..
RewriteCond %{HTTP_HOST} ^(www.)?ip.caoger.net$
RewriteRule ^(/)?$ IPdir/ [L]
增加子目录绑定时,将上面代码除了第一行之外全部复制一遍并做相应修改后,粘贴到上面的规则后面即可。

果根目录也绑定其它域名的话,可以通过子目录访问子站,就会导致子站文件多出个访问URL,建议不要在根目录绑定其它域名;当然,如果绑定子目录都是一级
目录subDomain下的子目录,可以通过robots.txt禁止收录subDomain目录,这样就不用担心上面的问题了。可以使用
DisallowDirdh88eghsjkk8834取代前面的subDomain,然后在robots.txt增加如下一行即可禁止搜索引擎在收录主
站时收录该子目录(不过子网站之间似乎有点乱)。
Disallow: /Disallow
对于IIS+ISAPI_REWRITE+httpd.ini的情况,如下内容的httpd.ini可以让子网站根目录(仅http://ip.caoger.net/和对应的www子域名这2个网址)重写到子目录。
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# 把 yourdomain.com 改为你要绑定的域名
RewriteCond Host: ^(www.)?ip.caoger.net$
RewriteRule ^(/)$ /IPdir/ [L]
增加如下规则可以让以http://ip.caoger.net/about/(这里的域名也可能是www子域名)开头的所有url实现重写,实际地址是将ip.caoger.net/about/为ip.caoger.net/IPdir/about/。
RewriteRule ^/about/(.*)$ /IPdir/about/$1 [L]
需要重写多个(或多类)目录或文件,就要多增加几条规则。增加多个子目录,也是需要些重复劳动。显然,IIS+ISAPI_REWRITE+httpd.ini下的规则写起来比apache+.htaccess下的麻烦多了。

最新回答共有3条回答

  • 匿名用户
    回复
    2023-01-15 13:13:11

    也称为虚拟主机,用来存放网站的内容,就好譬如清水房;

    怎么选? 适当选择有规模的行内专业空间服务商,其中,从以下几方面考虑:

    A. 确定网站的访问对象:访客群体是国外,选海外主机或香港主机;访客群体是国内,选国内南北互联的主机;

    B. 网站空间大小,根据实际情况让空间服务商推荐;

    C. 除价格因素外,从虚机的功能支持、速度、稳定性、服务质量方面考虑

  • 专业建网站
    回复
    2023-01-15 12:12:01

    IIS配置支持伪静态 ISAPI Rewrite(win2003系统)
    第一:首先我们需要下载一个ISAPI_Rewrite,有精简版和完全版,一般精简版只能对服务器全局进行配置,而完整版可以对服务器上的各个网站进行伪静态配置.对于个人站长来说,精简版就足够了.
    下载:http://www.isapirewrite.com/download/isapi_rwl_0055.msi
    第二:下载完成后,可以找到安装包里的.msi的文件,安装即可.
    随便装在哪都可以,默认是装在C:Program FilesHelicon下,要注意的是这个目录everyone要有读取权限。我就因为当时服务器权限配的比较严格,默认安装Helicon这目录EVERYONE是没有任何权限的,结果老是出现:Service Unavailable 。
    第三:打开Internet 信息服务,右键,web站点属性,点击ISAPI筛选器选项卡.添加筛选器,这里的名称可以自己随意填写,路径自己指定ISAPI_Rewrite.dll,然后确定.
    下面我们先做一个测试页new.asp,可以按照下面的代码写
    然后,在浏览器中输入:
    http://127.0.0.1/new.asp?id=1234
    接着你就可以在网页上看到一行文字:"1234"
    看到这几个数字,就说明你测试成功了.
    现在我们开始来配置ISAPI_Rewrite :
    打开ISAPI_Rewrite的目录,把httpd.ini的只读属性去掉,打开编辑.我们现在是需要把new.asp?id=1234修改成类似new_1234.html的路径,因此,我们需要在httpd.ini中添加一句
    RewriteRule /new_([0-9,a-z]*).html /new.asp?id={GetProperty(Content)}
    保存后,我们就可以测试一下这个网址了:http://127.0.0.1/new_1234.html<