0

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

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

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

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

4

2 回答 2

0

您可以在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>
于 2015-09-11T16:38:12.493 回答
0

您正在尝试更改您网站的 URL,这是访问它的方式……这是一个非常奇怪的操作。当您收到对某个页面的服务器请求时,该 URL 将被解析为该文件的路径。如果要更改 URL,则需要更改文件的名称 - 如果您不希望最后有 .html,那么文件可能不应该是 html 文件 - 但是,您的目标是不同的。你根本不想有扩展。

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

旁注:还有另一种方式,这是您通常在网络上看到的方式。PHP 在 URL 中可能有其他内容,而不仅仅是端点,但您询问了基于 Windows 的 HTML/ASPX 窗口支持的页面。

所以 - 是的,我看到没有扩展的唯一方法是让用户浏览文件夹。剩下的唯一问题是,你为什么想要这个?

于 2015-08-14T14:26:01.233 回答