我一直在探索“更漂亮”的 URL,我做的第一件事就是删除扩展名(例如 .aspx)。为此,我使用了 IIS 中的 URL 重写模块。
如果我访问,现在可以使用
http://www.mysite.com/folder/filename
或者
http://www.mysite.com/folder/filename.aspx
后者被重定向到第一个并加载页面。然后我尝试了以下方法:
http://www.mysite.com/folder/filename/
这打破了(正如我所料),但这似乎是糟糕的用户体验。也许作为一个经常上网的用户,我觉得没有斜线或斜线应该可以。我知道在最后有一个斜线的唯一方法是创建一个文件夹并使用默认default.aspx
页面,如果可以的话,我想避免。
继续,我尝试添加一个与文件同名的目录,因此在上面的示例中,我创建了一个名为filename
. 在这个目录中,我创建了一个默认的default.aspx
. 现在,如果我尝试访问相同的 url http://www.mysite.com/folder/filename
,我将被发送到该新文件夹的 default.aspx 页面,并在 URL 后附加一个斜杠http://www.mysite.com/folder/filename/
。
这表明默认情况下,不带扩展名的 URL 会尝试访问目录,并且只有在未找到时 IIS 才会覆盖提供文件,因此从某种意义上说,尝试使用无扩展名的文件名来欺骗它似乎是一种黑客行为。
幸运的是,我可以完全控制文件和文件夹名称,所以我希望可以防止那里发生任何事故(尽管我必须小心)。所以我的问题是:有没有一种方法可以删除文件扩展名但仍然允许附加斜杠并仍然找到文件。如果可以的话,我不想在里面创建大量带有 default.aspx 的目录。