Home >Backend Development >PHP Tutorial >Windows server 2008 IIS7.5 URLRewrite pseudo-static settings

Windows server 2008 IIS7.5 URLRewrite pseudo-static settings

PHP中文网
PHP中文网Original
2017-02-07 14:55:092113browse

Windows server 2008 server IIS7.5 URLRewrite pseudo-static settings
Part 1: Download the URLRewriter component from the following address:

Download address :

Windows server 2008 IIS7.5 URLRewrite pseudo-static settings1486446001772507.rar

##Part 2: Add a reference to the URLRewriter assembly in the website project.
Part 3: Configure the webconfig file:

1. Add the following configuration between the f9d9f4a8f32d97f3ef0c10742ed31240 and 107179cec9ad9ec61c47a52cad36d19f nodes:

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


2. Add
3 between 7342c004d9ee91801ac5c2892c1ed716 and a678e556e2e40b2e2d09f69cb325521e

. Add
##9b66452aa3760c5df2a971517de5e2ae to 9b61085d7090294ad46cc4af5d88d216 and 70033b332b4f7672921dbde12a17dfd6.
4. Configure pseudo-static syntax: add the 4ab8d4fbe05ac2e71d741ed9458bebe3
9ccd08aa9b6b93a45283080a51a18d7c node between f9d9f4a8f32d97f3ef0c10742ed31240 and 4b1b9d85fe86862ae3eab7e2045cf8a0. Add pseudo-static rules between 4ab8d4fbe05ac2e71d741ed9458bebe3 and 9ccd08aa9b6b93a45283080a51a18d7c:

<Rules>
       <!–定义伪静态第一条规则开始–>
       <RewriterRule>
         <LookFor>~/xxxx/view(.[\d]*)\.html</LookFor>
         <SendTo>~/xxxx/view.aspx?id=$1</SendTo>
       </RewriterRule>
  <!–定义伪静态第一条规则结束–>
  <!–定义伪静态第二条规则开始–>
       <RewriterRule>
         <LookFor>~/yyyy/(.[\d]*)/view.html</LookFor>
         <SendTo>~/yyyy/view.aspx?id=$1</SendTo>
       </RewriterRule>
<!–定义伪静态第三条规则结束 以此类推–>
</Rules>

第四部:配置IIS7.5 或IIS7.0

   1.新建一个应用程序池:名称:任意如:aspnet;选择net FrameWork版本(如果你的网站时候2.0的话就选择2.0,我的是4.0)在此我选择Net FramWork v 4.030319. 托管管道模式先暂时设置为集成模式。等下面的设置完成之后再将托管管道模式设置为经典模式。如果下面的设置完成之后不把应用程序设置为经典模式的话,伪静态的功能可以实现,但是页面的样式图片不能正常显示这是设置的关键。

   2 新建一个网站 website ,将此站点的应用程序程序池设置为aspnet。

   3  选中你的站点比如website ,并且切换到功能视图。双击【处理程序映射】在打开窗口右侧的操作栏目下做如下操作。

      3.1,【添加脚本映射】-路径为:*.html.可执行文件为:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 注意:如果你的网站是2.0。可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 。名称:任意,比如:html.
        3.2, 【添加通配符脚本映射】 请求路径为*。可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,名称任意,比如:aspnet.

       3.3,【托管处理程序映射】(路径:*  可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)

       3.4, 双击website站点切换到站点功能视图。然后双击模块,打开窗口之后在右侧的操作栏目下面,单击【添加托管模块】-》名称:任意 如aspnet  类型:URLRewriter.ModuleRewriter 并且 把【仅针对向asp.net 应用程序或托管处理程序发出请求调用】前面的选项 勾上。(记住一定要勾上)。

       3.5 ,最后一步:双击iis7.0或7.5的应用程序池。在应用程序池列表中找到【aspnet】应用程序池。双击打开之后。将aspnet应用程序池的【托管管道模式】设置为经典模式。    

Web.config伪静态示例代码参考:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="false" />
        <rewrite>
            <rules>
                <rule name="301Redirect0" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAny"><!--匹配任意一项-->
                        <add input="{HTTP_HOST}" pattern="^demo2\.php\.cn$" />
                        <add input="{HTTP_HOST}" pattern="^demo3\.php\.cn$" />
                    </conditions>
                    <action type="Redirect" url="http://www.php.cn/{R:0}" redirectType="Permanent" />
                </rule>
                <rule name="301Redirect1" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll"><!--匹配全部,不以二者开头-->
                        <add input="{HTTP_HOST}" pattern="^((?!open).*)$" />
                        <add input="{HTTP_HOST}" pattern="^((?!demo).*)$" />
                    </conditions>
                    <action type="Redirect" url="http://m.php.cn/{R:0}" redirectType="Permanent" />
                </rule>
                
                <rule name="mainrule" stopProcessing="true">
                    <match url="^([0-9]+)\.html$" />
                    <action type="Rewrite" url="detail.php?songid={R:1}" />
                </rule>
                <rule name="s0_rule" stopProcessing="true">
                    <match url="^keyword/(.+)/$" />
                    <action type="Rewrite" url="search.php" />
                </rule>
                <rule name="s1_rule_301" stopProcessing="true">
                    <match url="^keyword/.*[^/]$" />
                    <action type="Redirect" url="http://www.php.cn/keyword-{R:0}/" redirectType="Permanent" />
                </rule>
                <rule name="sitemap_rule" stopProcessing="true">
                    <match url="^sitemap\.txt$" />
                    <action type="Rewrite" url="sitemap.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

相关文章:伪静态、静态和动态的区别以及各种伪静态设置方法

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn