15053971836 注册 / 登录

iis网站伪静态

时间: 阅读:477
iis网站伪静态

最佳回答

建站最低500起

建站最低500起

2023-01-15 10:36:52

所谓伪静态就是通过一定的技术手段,将原先一条不存在的URL地址映射到已存在的文件上,其目的是实现动态网页内容的静态化,提高搜索引擎收录率。

方法/步骤:

1、IIS 7.0以上服务器

微软IIS 7.0以上版本完全重写了IIS的内核结构,采用模块化的设计构架,URL重写也成为可选安装的模块之一。朝暮数据的全部虚拟主机都安装了URL重写模块,因此客户可以通过轻松的配置web.config文件来实现伪静态功能。

下面是实现第一段所述伪静态规则的web.config代码。

<?xml version="1.0" encoding="UTF-8"?><configuration>    <system.webServer>        <rewrite>            <rules>                <rule name="已导入的规则 1">                    <match url="product/([a-z]+)/([0-9]+)" ignoreCase="false" />                    <action type="Rewrite" url="product.aspx?category={R:1}&amp;id={R:2}" appendQueryString="false" />                </rule>            </rules>        </rewrite>    </system.webServer></configuration>

2、Apache服务器

Linux系统下的Apache服务器在伪静态设置方面比较简单。由于Apache的mod_rewrite模块默认就是开启的,所以站长只需在空间下上传正确的.htaccess配置文件即可。下面也给出实现上述伪静态功能的规则代码。

RewriteEngine onRewriteRule product/([a-z]+)/([0-9]+) product.php?category=$1&id=$2

3、IIS 6.0服务器

在IIS 6.0环境下,无论是ASP、ASP.NET或者是PHP程序,我们都可以借助第三方的Rewrite组件来实现静态化,点此下载组件。

将该组件下载到服务器的C盘,解压后对目录设置权限,赋予Users组读取和运行权限。

4、打开该目录下的httpd.ini文件,这里是伪静态规则设置的核心。比如我们要实现上述功能,可以这样编写规则代码。

[ISAPI_Rewrite]了http://m.fulinmenst.com/m/prod_view.aspx?TypeId=65&Id=183&Fid=t3:65:3&typefid=65

RewriteRule ^/product/([a-z]+)/(d+)?*(.*)$ /product.aspx?category=$1&id=$2

5、下面就是将该组件配置到IIS中了。打开网站属性,点击ISAPI筛选器选项卡,再点击添加按钮。

6、在对话框中,输入筛选器名称,如rewrite,然后定位到我们之前解压下来的可执行文件Rewrite.dll上。

至此,基于IIS 6.0的伪静态配置完毕。如果有多个站点,那么就复制同样的Rewrite目录,然后定位到不同目录中的Rewrite.dll即可。如果要修改规则,只需修改httpd.ini文件,保存后即时生效,无需重启IIS。

ASP.NET Routing

.NET框架从4.0版本起开始支持Routing功能,如果您的代码是ASP.NET编写的,则可以考虑使用这种静态化方式。这种方式的好处就是无需在服务器上做配置,并且伪静态的URL地址和整个代码是天然一体的,代码中可以自动生成静态化URL,避免了在.htaccess/web.config模式下,一旦修改了伪静态规则,还要修改代码中的静态化网址的麻烦。

最新回答共有3条回答

  • 清风若雨
    回复
    2023-01-15 13:13:04

    作为程序员,我并不相信大多数同行在无聊的时候会看github和stackoverflow,看代码相关的站点都是上班的时候无可奈何的选择,楼下很多回答都是在抖机灵。

    我在不工作的时候,连电脑屏幕都不想看,怎么可能还去看代码?最多刷刷手机,大概率会看下面几个APP:

    1、脉脉

    谁说程序员不爱看八卦,现在脉脉已经变成互联网企业吃瓜吐槽的神器。很多最新小道消息都是来自脉脉注册的对应公司员工的匿名爆料。

    2、微博

    这里头我其实只关注了几个圈内大佬,然后科技相关的媒体,然后是一些新闻的官媒。进去刷刷关注的大佬在研究什么,再看看今天的热点新闻。很多瓜也能从微博上看到,不过删除的也快。

    3、知乎

    这个得配合着微博看,很多微博被屏蔽的瓜都能在知乎上搜到来龙去脉。因为微博是阿里系的,知乎是腾讯系的,反过来很多知乎屏蔽的瓜在微博上也能搜到。所以我一般用知乎都是直接搜索问题关键字的,里面的大神能把一个瓜剖析到你满意为止。

    4、微信

    微信并非是看群聊或者朋友圈,这些已经分不清工作和生活了,大多屏蔽了。空闲时间去看看微信公众号,平常关注了不少跟自己工作相关的公众号,了解一下纯技术方面的文章。有时候里面有代码的,难度较大的,会转到文件传输助手里,上班再看。

    本来想写的,不过我大多数时候都是很正经地来这回答问题的,还是很想搞好这个头条号的,所以不能算无聊时候逛的网站。

    不过说实在的,程序员无聊的时候不多,996下班回家就是睡觉,睡醒就是去上班,做梦都是代码逻辑。得闲也就周末,躺床上刷刷手机,让大脑休息一下。

  • 游客
    回复
    2023-01-15 12:12:54

    在configuration节点下
    <system.webServer>
    <rewrite>
    <rules>
    <rule name="rD">
    <match url="Index.html" />
    <action type="Rewrite" url="Index.aspx" />
    </rule>
    </rule>
    </rewrite>
    </system.webServer>
    这样单页的伪静态就配置好了。然后在页面调用地址。就应该链接index.html不在是index.aspx
    这种单页的配置比较简单,相信大家也都会。下面就是来带参数的配置
    在configuration节点下
    <system.webServer>
    <rewrite>
    <rules>
    <rule name="rPL">
    <match url="^list-([0-9]*).html" />
    <action type="Rewrite" url="list.aspx?id={R:1}" />