【问题标题】:Custom URL Rewriting in Classic ASP经典 ASP 中的自定义 URL 重写
【发布时间】:2014-05-25 10:50:15
【问题描述】:

我一直在尝试用经典的 ASP 重写 URL。我目前使用的是 IIS 7.5。我尝试使用 URL Rewrite 插件来转换以下链接:

http://blog.johnavis.com/blog/default.asp?id=19

变成这样:

blog.johnavis.com/19/

blog.johnavis.com/id/19/

blog.johnavis.com/blog/default/19

blog.johnavis.com/blog/default/id/19

我想转换成这样的东西: http://blog.johnavis.com/blog/myblog/

这可以实现吗?任何帮助将不胜感激。

【问题讨论】:

  • 嘿,你拿我的博客做例子!多年来一直想为它添加 URL 重写。
  • 至少你促使我采取行动。我最后在我的博客中添加了 URL 重写。我使用了自定义的 404 错误方法。

标签: iis url-rewriting asp-classic iis-7.5


【解决方案1】:

基本上,重写模块所做的就是编辑您的 web.config 文件。您最好自己编辑文件。你会发现它创建了一个名为rewrite的部分,添加如下规则

        <rewrite>
            <rules>
                <rule name="My Blog">
                    <match url="blog/myblog/" />
                    <action type="Rewrite" url="blog/default.asp?id=19" />
                </rule>

            </rules>
        </rewrite>

【讨论】:

  • 我确实在我的 web.config 文件中看到了这种变化。这提出了我的另一个问题。如果我想从页面动态获取一个值以在 URL 中重写怎么办。例如,我的问题中的同一个 URL 在标签中有一个文本“Alienware”。我可以让 URL 像这样显示吗:blog.johnavis.com/blog/alienware
  • 如果您正在寻找正则表达式解决方案,那么您需要在查询字符串中使用博客的名称 - 即 blog.johnavis.com/blog/default.asp?name=alienware。否则,您可能需要为每个博客制定单独的规则
【解决方案2】:

您可以通过定义模式在 IIS 管理器中创建 URL 重写规则来实现此目的。使用以下链接了解相关信息。

http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module

http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-video-walkthrough

希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 2010-11-30
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    相关资源
    最近更新 更多