欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

iis web.config 伪静态

shiping1 的头像
google  "iis web.config 伪静态"

下面我网址都有大用
http://www.jquery001.com/fullfill-urlrewriter-in-iis7.html
http://www.111cn.net/sys/Windows/49624.htm
http://www.west263.cn/faq/list.asp?Unid=615
http://www.jb51.net/article/29390.htm
http://jingyan.baidu.com/article/cbf0e500ebec582eaa2893d2.html
http://www.cnblogs.com/yanzhen/archive/2012/01/07/iis6-web-config.html
http://www.nipaiyi.com/style/info/shownews.asp?id=13

iis7 下配置 web.config 实现伪静态

时间:2011-03-18QQ群:116983258

前几天对网站的空间进行了更换,发现原有的 URL 重写已经无效了,原来使用的是 urlRewriter 实现的伪静态,在IIS6中实现 URL 重写大家可以参考下使用URLRewriter.dll实现url重定向。通过和客服沟通才认识到,在 IIS7中我们不再需要安装其他组件,通过在 web.config 进行简单的配置即可实现 URL 的伪静态。方法如下:

 

在 web.config 配置文件的 configuration 节点中加入下边的代码:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="rulename">
                <match url="newurl" ignoreCase="false" />
                <action type="Rewrite" url="oriurl" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

其中, rule 节点即为每个重写规则,match 节点为伪静态的规则;ignoreCase 是忽略大小写;action 是响应的 URL,即真正的URL;appendQueryString 为是否跟参数。添加多个 rule 时,注意 name 名称应该保持不同。

以下直接给出本站的 URL 重写规则,相信大家会一目了然:

<rewrite>
    <rules>
        <rule name="rule1">
            <match url="articles/(\S+)\.html$" ignoreCase="true" />
            <action type="Rewrite" url="articles/Default.aspx?SubClass={R:1}" appendQueryString="true" />
        </rule>
    </rules>
</rewrite>

可见,在 IIS6 里如果跟参数的话使用 $ 字符,在 IIS7 使用{R:数字}代替 $ 字符。至于多个参数时,别忘记使用 &amp; 替换 & 符号。

来自 http://www.jquery001.com/fullfill-urlrewriter-in-iis7.html

 

iis7 配置web.config实现伪静态实现代码

www.111cn.net 编辑:safeman 来源:转载
本文章来给大家介绍在iis7下利用web.config 实现页面伪静态了,如果是iis6中我们必须使用urlRewriter 实现的伪静态哦,下面我来介绍一下。
 

在 IIS7中我们不再需要安装其他组件,通过在 web.config 进行简单的配置即可实现 URL 的伪静态。方法如下:

在 web.config 配置文件的 configuration 节点中加入下边的代码:

 代码如下复制代码

<system.webServer>
    <rewrite>
        <rules>
            <rule name="rulename">
                <match url="newurl" ignoreCase="false" />
                <action type="Rewrite" url="oriurl" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

其中, rule 节点即为每个重写规则,match 节点为伪静态的规则;ignoreCase 是忽略大小写;action 是响应的 URL,即真正的URL;appendQueryString 为是否跟参数。添加多个 rule 时,注意 name 名称应该保持不同。

以下直接给出本站的 URL 重写规则,相信大家会一目了然:

 代码如下复制代码

<rewrite>
    <rules>
        <rule name="rule1">
            <match url="articles/(S+).html" ignoreCase="true" />
            <action type="Rewrite" url="articles/Default.aspx?SubClass={R:1}" appendQueryString="true" />
        </rule>
    </rules>
</rewrite>

可见,在 IIS6 里如果跟参数的话使用 $ 字符,在 IIS7 使用{R:数字}代替 $ 字符。至于多个参数时,别忘记使用 &amp; 替换 & 符号。

如果你是iis6可参考下面方法来实例伪静态


我们需要下载微软官方提供的URLRewriter.dll,下载后将些dll文件引用到我们的项目中。接下来,需要在web.config里进行一些简单的配置,就可以实现url的重定向。

首先,在webconfig中找到configSections,在以下位置加入给出的代码:

 代码如下复制代码

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

接下来,找到httpHandlers,在以下位置加入给出的代码:

 代码如下复制代码
        <httpHandlers>
       <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
   <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

上边加入的代码,就会对.html和.aspx后缀的url路径进行重定向。最后,我们要加入重定向的规则,从而实现url重定向。

 代码如下复制代码

  </configSections>
    <RewriterConfig>
        <Rules>
            <RewriterRule>
                <LookFor>~/article/(S+)/(d{8})/(S+).html</LookFor>
                <SendTo>~/article/default.aspx?Sub=$1&UrlName=$3</SendTo>
            </RewriterRule>
        </Rules>
    </RewriterConfig>

上边就是重定向的规则,上边是以我自己的小站为例。将domain/article/文章类型/发布时间/文章名称.html重新定向到了domain/article/default.aspx?Sub=文章类型&UrlName=文章名称 。我自己对正则也不是很了解,^_^。如果有兴趣大家可以学习下,最后别忘了要将 &UrlName中的&符号写成&amp; ,
来自 http://www.111cn.net/sys/Windows/49624.htm
 

iis7.5下常见程序通过web.config实现伪静态

新建一个以web.config命名的文件内容为
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
<!--将下面的规则添加到这里-->

    </system.webServer>  
</configuration>

规则示例,选择需要的规则添加:
<!--shopex-->
<rewrite>
            <rules>
                <rule name="disableDownloadThemeHtml">
                    <match url="^themes/.*.(html|xml)$" ignoreCase="false" />
                    <action type="CustomResponse" url="/" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
                </rule>
                <rule name="urlRewrite">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" pattern=".(html|xml|json|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm)$" ignoreCase="false" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="index.php?{R:1}" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>

<!--dz2.0-->
<rewrite>
 <rules>
  <rule name="portal_topic">
   <match url="^(.*/)*topic-(.+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php\?mod=topic&amp;topic={R:2}&amp;{R:3}" />
  </rule>
  <rule name="portal_article">
   <match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php\?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_forumdisplay">
   <match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_viewthread">
   <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&amp;tid={R:2}&amp;extra=page%3D{R:4}&amp;page={R:3}&amp;{R:5}" />
  </rule>
  <rule name="group_group">
   <match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_space">
   <match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;{R:2}={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_blog">
   <match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_archiver">
   <match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/index.php\?action={R:2}&amp;value={R:3}&amp;{R:4}" />
  </rule>
 </rules>
</rewrite>

<!--dz2.5-->
<rewrite>
 <rules>
  <rule name="portal_topic">
   <match url="^(.*/)*topic-(.+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php\?mod=topic&amp;topic={R:2}&amp;{R:3}" />
  </rule>
  <rule name="portal_article">
   <match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php\?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_forumdisplay">
   <match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_viewthread">
   <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&amp;tid={R:2}&amp;extra=page%3D{R:4}&amp;page={R:3}&amp;{R:5}" />
  </rule>
  <rule name="group_group">
   <match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_space">
   <match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;{R:2}={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_blog">
   <match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_archiver">
   <match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/index.php\?action={R:2}&amp;value={R:3}&amp;{R:4}" />
  </rule>
  <rule name="plugin">
   <match url="^(.*/)*([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/plugin.php\?id={R:2}:{R:3}&amp;{R:4}" />
  </rule>
 </rules>
</rewrite>

<!--dz3.0-->
<rewrite>
 <rules>
  <rule name="portal_topic">
   <match url="^(.*/)*topic-(.+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php\?mod=topic&amp;topic={R:2}&amp;{R:3}" />
  </rule>
  <rule name="portal_article">
   <match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php\?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_forumdisplay">
   <match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_viewthread">
   <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&amp;tid={R:2}&amp;extra=page%3D{R:4}&amp;page={R:3}&amp;{R:5}" />
  </rule>
  <rule name="group_group">
   <match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php\?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_space">
   <match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;{R:2}={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_blog">
   <match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_archiver">
   <match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/index.php\?action={R:2}&amp;value={R:3}&amp;{R:4}" />
  </rule>
  <rule name="plugin">
   <match url="^(.*/)*([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+).html\?*(.*)$" />
   <action type="Rewrite" url="{R:1}/plugin.php\?id={R:2}:{R:3}&amp;{R:4}" />
  </rule>
 </rules>
</rewrite>


来自 http://www.west263.cn/faq/list.asp?Unid=615

 

来自 http://www.jb51.net/article/29390.htm



IIS7.5配置web.config实现 wordpress 的伪静态

  •  
  • |
  • 浏览:749
  • |
  • 更新:
  • |
  • 标签: wordpress 

windows7已经是各位的标配了吧,那如何在windows7下实现wordpress的伪静态呢?

系统环境:windows7 + IIS7.5 + PHP + MySQL

工具/原料

  • IIS下的URL重写组件

  • TXT文本编辑器:自带的txt或下载一个editplus,后者比较强大实用。

方法/步骤

  1. 1

    安装URL重写组件

     

    a. 检查URL重写组件

    配置伪静态需要URL重写组件,首先确认一下IIS是否安装了URL重写组件。

    在控制面板打开 Internet 信息服务(IIS)管理器,查看是否存在 “URL重写”,如下图:

    b. 下载URL重写组件

    无论是否安装,这里直接给一个微软官网的下载链接:

    http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi

    IIS7.5配置web.config实现 wordpress 的伪静态
  2. 2

    重启一下IIS,运行 “net stop iis” -> “net start iis”

  3. 3

    配置 web.config 文件

    在wordpress根目录,将以下内容保存为 web.config 文件。

    <?xml version="1.0" encoding="UTF-8"?>

    <configuration>

      <system.webServer>

        <rewrite>

          <rules>

                    <rule name="category">

                        <match url="category/?(.*)" />

                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />

                        <action type="Rewrite" url="/index.php?category_name={R:1}" appendQueryString="false" logRewrittenUrl="false" />

                    </rule>

                    <rule name="tags">

                        <match url="tag/?(.*)" />

                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />

                        <action type="Rewrite" url="index.php?tag={R:1}" />

                    </rule>

                    <rule name="Main Rule" stopProcessing="true">

                        <match url=".*" />

                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">

                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

                        </conditions>

                        <action type="Rewrite" url="index.php/{R:0}" />

                    </rule>

                    <rule name="wordpress" patternSyntax="Wildcard">

                        <match url="*" />

                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">

                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

                        </conditions>

                        <action type="Rewrite" url="index.php" />

                    </rule></rules>

        </rewrite>

      </system.webServer>

    </configuration>

  4. 4

    最后,刷新一下 wordpress ,打开几个链接看看,是不是正常了!

 

来自 http://jingyan.baidu.com/article/cbf0e500ebec582eaa2893d2.html
普通分类: