当前位置: 首页 > 技术支持 > 服务器维护>> 虚拟主机URL重写问题(ASP程序如何让URL伪静态及URL重写)

虚拟主机URL重写问题(ASP程序如何让URL伪静态及URL重写)

这个需要一个URLRewriter组件,需要到虚拟主机的IIS上配置的,如果你对虚拟主机没有操作权限,估计用不了。

大家好,今天小编关注到一个比较有意思的话题,就是关于虚拟主机url重写的问题,于是小编就整理了2个相关介绍虚拟主机url重写的解答,让我们一起看看吧。

虚拟主机URL重写问题(ASP程序如何让URL伪静态及URL重写)

文章目录:

  1. 虚拟主机URL重写问题
  2. ASP程序如何让URL伪静态及URL重写

一、虚拟主机URL重写问题

我觉得这个事情如果不庆碰在iis上操作的话,是不可能实现的。

另外我本身就是主机商,我是不会给客户提供这样的服务。因为加重了iis的负担。

也请你为主机上其他誉差谈的用户着想。庆衫

这个需要一个URLRewriter组件,需要到虚拟主机的IIS上配置的,

如果你对虚拟主机没有操作权限,

估计用不了。

在项目里面引用组件后紧接着配置WEB.CONFIG文件:

这<configSections> 节点:

<configSections>

<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/

</configSections>

这<httpModules> 节点:

<httpModules>

<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>

</httpModules>

这<system.web> 节点:

<system.web>

<httpHandlers>

<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

</httpHandlers>

<compilation debug="true"/>

</system.web>

另外配置重写路由:

<!-- Rules for Displayer 举个例源皮樱子,注意紧是个例子,因为很常用。-->

<RewriterConfig>

<Rules>

<RewriterRule>

<LookFor>~/(\d+)</LookFor> //如果是数字( 正则握桥 )

<SendTo>~/list_shop.aspx?shopid=$1</SendTo> //就像list_shop.aspx传一个ShopId的参数。

</RewriterRule>

</Rules>

</RewriterConfig>

紧接这配置IIS6.0:

右键点我的电脑-->

管理-->

展开'服务和应用程序'-->

internet信息服务-->

找到你共享的目录-->

右键点击属性 -->

点击'配置'-->

映射下面 -->

找到.aspx的可执行文件路径

复雹丛制路径-->

粘贴路径-->

然后把检查文件是否存在的勾去掉这样就可以了。

如果IIS是7.0配置重写真TMD简单:则配置IIS这步去掉,只需在Web.Config里面配置下即可。

这<system.webserver> 节点:

<system.webServer>

<modules>

<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>

</modules>

</system.webServer>

二、ASP程序如何让URL伪静态及URL重写

1.下载ISAPI_Rewrite.ISAPI_Rewrite分精简(Lite)和完全(Full)版.精简版不支持对每个虚拟主机站点进行重写,只袜世能进行全局处理.不过对于有服务器的朋友,精简版也就够啦.

2.安装.msi的文件,和装一般程序一样装就可以了,俺就装在D:/ISAPI_Rewrite.

3.接下来一步比较重要哦,看仔细喽.打开Internet 信息服务,右键,web站点属性,电ISAPI筛选器选项卡.添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定.

4.来测试一下.新建一个1ting.asp,里面写上

<%=request.querystring("inso")%>

,效果就是执行的时候1ting.asp?inso=*浏览器显示*.

5.这一步很重要哦,开始添加rewrite规则.正则,好头痛,幸亏这个例子比较简单.

找到ISAPI_Rewrite目录,把httpd.ini的只读属性去掉,打开编辑.我们要把1ting.asp?inso=im286映射成为1ting-im286.html这样的类型,需要在httpd.ini里加上这么一行:

RewriteRule /1ting-([0-9,a-z]*).html /1ting.asp/?inso=$1

,保存.

6.来来来,到浏览器里查看一下效果吧.输入http://127.0.0.1/1ting.asp?inso=im286和http://127.0.0.1/1ting-im286.html,显示的内容是不是都是im286?这就证明成功啦!

嘿嘿,1ting-im286.html这样的页面要比1ting.asp?inso=im286容易收入,所以现在还在用动态方式的朋友可以尝试一下这样的静态映射效果. IIS Rewrite也可以实现这样的功能。

------------------------------------------------------

ASP之URL重写

下载ISAPI_Rewrite解压到任意文件夹安装,给IIS用户读取权限,在IIS右键点击一个站点,属性,ISAPI筛选器,添加,筛选器名称一定得叫 re,可执行文件就点浏览找到你解压的目录Rewrite.dll加上即可。

重启IIS后应该就能支持URL重写规则了。

需要修改解压目录中的httpd.ini这个文件

RewriteRule /info_(/d+)/.htm /info/.asp/?id=$1 [N,I]

这句话就可以把提交的地址http://www.xxx.com/info_122.htm映射到真首散正的地址 http://www.xxx.com/info.asp?id=122

如果你在处理数据翻页,那么写法是:

More_<%=Page%>_<%=type%>.html (注:page是翻页页数,type是数据类型)

表现形式:More_1_95.html

如果翻下一页,则为:More_2_95.html,继续下一页的循环,则是:

More_3_95.html,以此类推。

不过你需要在httpd.ini文件中者好氏增加以下代码:

RewriteRule /More_(/d+)_(/d+)/.html /jsp/more/.jsp/?page=$1&type=$2 [N,I]

如果你的动态程序有多个参数需要传递,那么就增加多个(/d+)即可,如下:

RewriteRule /More_(/d+)_(/d+)_(/d+)/.html /jsp/more/.jsp/?page=$1&type=$2&type2=$3 [N,I]

翻页处理表现形式是:More_1_95.html

如果想把http://www.xxx.com/info.asp?id=50#abc 转换成静态的网页

因为#abc是程序处理了ID=50这个变量生成静态页面之后按锚点又做了一次页内链接,所以应该这么做映射

http://www.xxx.com/info.asp?id=50#abc转换成http://www.xxx.com/info_50.htm#abc,重写规则如下:

RewriteRule /info_(/d+)/.htm#(/d+) /info/.asp/?id=$1#$2 [N,I]

注意:以前在Window 2000 IIS5.0一直使用ISAPI_Rewrite进行动态链接重写HTML静态网址,

最近升级到 Widnows 2003 IIS6.0 后,发现ISAPI_Rewrite根本运行不起来,在IIS 6.0里面一直提示“未加载”,后来查了又查,原来是文件的权限问题。

IIS 6.0 ISAPI_Rewrite 是在Service帐号下运行的,将数据文件的读写权限给予Service 帐号后,ISAPI_Rewrite 终于可以正常运行了。

到此,以上就是小编对于虚拟主机url重写的问题就介绍到这了,希望介绍关于虚拟主机url重写的2点解答对大家有用。


服务器购买/咨询热线:1563700917115617636856

本文链接:http://43.134.181.216/jishuzhichiyuweihu/19008.html
tags:
腾讯云服务器特惠

  • 关注微信
是否收录:

猜你喜欢

微信公众号