【问题标题】:How can I rewrite URLs (website.com to www.website.com, for example)? [duplicate]如何重写 URL(例如,从 website.com 到 www.website.com)? [复制]
【发布时间】:2013-04-29 17:39:21
【问题描述】:

如何在每个页面上重写 URL,如下:

  • website.comwww.website.com
  • website.com/page1.aspxwww.website.com/page1.aspx

【问题讨论】:

  • “重写”到底是什么意思?

标签: c# url url-rewriting


【解决方案1】:

如果我们说的是 apache,那么在 .htaccess 中

RewriteEngine   on
RewriteCond %{HTTP_HOST} ^website\.com [NC]
RewriteRule ^(.*)$ http://www.website.com/$1 [L,R=301]

对于 IIS 和 web.config,使用

<rewrite>
<rules>
    <rule name="Canonical Host Name" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_HOST}" pattern="^www\.website\.com$" negate="true" />
        </conditions>
        <action type="Redirect" url="{MapSSL:{HTTPS}}www.website.com/{R:1}"    redirectType="Permanent" />
    </rule>
</rules>
<rewriteMaps>
    <rewriteMap name="MapSSL" defaultValue="OFF">
        <add key="ON" value="https://" />
        <add key="OFF" value="http://" />
    </rewriteMap>
</rewriteMaps>
</rewrite>

【讨论】:

  • ASP.NET C#,我认为的解决方案是像 web.config 中那样重写规则,但我似乎找不到它
  • 好的,我也为 iis 调整了它
  • “500 页面错误”在我把它放到 web.config 之后,我会再弄乱它一些,看看我能不能修复它
  • 它与另一个规则冲突,它正在工作,非常感谢^^
  • 重写工作总是一件好事!哦,我们花在正则表达式上的时间:>
【解决方案2】:

IIS 确实有一个重写模块,可以让你做你想做的事情http://www.iis.net/downloads/microsoft/url-rewrite

【讨论】:

  • 安装后要重写的代码是什么?
猜你喜欢
  • 2012-06-19
  • 2020-10-08
  • 2022-01-06
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多