繁体   English   中英

web.config和Aruba-URL重写

[英]web.config & Aruba - URL Rewrite

我正在开发我的第一个网站,并且刚刚了解了IIS的web.config文件,所以我想做的是隐藏URL的不同部分。

例如,主页是www.domain.com/it/homepage.html,我很想使其显示为www.domain.com/it/homepage,但我没有找到有关删除网络上.html扩展名的任何信息,只是很多我试图用.html替换的.aspx,失败了。

另一个问题:是否可以使用web.config重定向错误? 我已经看到了很多基于.htaccess的解决方案,仅此而已。

编辑:忘记说该网站由ARUBA托管,在其Windows导向服务器上

您正在尝试更改网站的URL,这是访问它的方式...这是一件很奇怪的事情。 当您向服务器请求某个页面时,URL被解析为该文件的路径。 如果要更改URL,则需要更改文件名-如果您不希望以.html结尾,则该文件不应该是html文件-但是,您的目标是不同。 您根本不想扩展。

幸运的是,有一种方法可以拥有一个没有任何文件扩展名的url端点。 那将是一个文件夹。 文件夹没有扩展名,但是文件夹本身不包含任何内容,除了要链接的文件。

旁注:还有另一种方法,这是您通常在网络上看到的方法。 PHP可能在URL中除了终结点外还有其他内容,但是您询问了基于Windows的HTML / ASPX Windows支持页面。

所以-是的,我认为完全没有扩展名的唯一方法是让用户浏览文件夹。 剩下的唯一问题是,您为什么仍要这样做?

您可以在web.config文件中使用以下配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="niceURL"  stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="{R:0}.html" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM