【发布时间】:2013-04-29 17:39:21
【问题描述】:
如何在每个页面上重写 URL,如下:
-
website.com到www.website.com -
website.com/page1.aspx到www.website.com/page1.aspx - 等
【问题讨论】:
-
“重写”到底是什么意思?
标签: c# url url-rewriting
如何在每个页面上重写 URL,如下:
website.com 到 www.website.com
website.com/page1.aspx 到 www.website.com/page1.aspx
【问题讨论】:
标签: c# url url-rewriting
如果我们说的是 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>
【讨论】:
IIS 确实有一个重写模块,可以让你做你想做的事情http://www.iis.net/downloads/microsoft/url-rewrite。
【讨论】: