ホームページ  >  記事  >  バックエンド開発  >  Windows Server 2008 IIS7.5 URL再書き込み疑似静的設定

Windows Server 2008 IIS7.5 URL再書き込み疑似静的設定

PHP中文网
PHP中文网オリジナル
2017-02-07 14:55:092090ブラウズ

Windows サーバー 2008 サーバー IIS7.5 URLRewrite 擬似静的設定
パート 1: 次のアドレスから URLRewriter コンポーネントをダウンロードします:

ダウンロード アドレス:

Windows Server 2008 IIS7.5 URL再書き込み疑似静的設定1486446001772507.rar

第二部: Web サイト プロジェクトに URLRewriter アセンブリへの参照を追加します。
パート 3: webconfig ファイルを構成する :

1. f9d9f4a8f32d97f3ef0c10742ed31240 ノードと 107179cec9ad9ec61c47a52cad36d19f ノードの間に次の構成を追加します。 7342c004d9ee91801ac5c2892c1ed716 と a678e556e2e40b2e2d09f69cb325521e
の間に

3 を追加します。
9b66452aa3760c5df2a971517de5e2ae を 9b61085d7090294ad46cc4af5d88d216 と 70033b332b4f7672921dbde12a17dfd6 に追加します。
4.擬似静的構文を構成します: f9d9f4a8f32d97f3ef0c10742ed31240 と 4b1b9d85fe86862ae3eab7e2045cf8a0 の間に 4ab8d4fbe05ac2e71d741ed9458bebe3

9ccd08aa9b6b93a45283080a51a18d7c ノードを追加します。 4ab8d4fbe05ac2e71d741ed9458bebe3 と 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>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。