mojoPortal content management system is built using ASP.NET technology. Historically it has been required in most cases to use the .aspx extension for ASP.NET pages, because this extension is recognized by the IIS Web server as handled by ASP.NET. IIS would hand off incoming requests for an .aspx page to ASP.NET for processing, while directly handling requests for other static files such as images, javascript, css, etc. There have been third party solutions available to make ASP.NET the handler for other kinds of requests, which would allow for entensionless URLs, but these solutions required installing additional web server software, and we could not rely on the ability to install such software into hosted environments.

As of mojoPortal CMS 2.3.0.8 or newer, using IIS 7 and Integrated Pipeline mode, it is now possible to use extensionless URLs out of the box. This only works when using Integrated Pipeline mode; it will not work if you have configured a "Classic" application pool for the site. 

Next, you need to find this in the appSettings section:

<add key="AllowChangingFriendlyUrlPattern" value="false" />

You should copy this setting and put it in your user.config file and change the value to "true".

Then, after touching web.config, you will see a new dropdown in Administration > Site Settings:

page url format dropdown list

There are two options: page-name.aspx and page-name, which is for extensionless URLs.

It's also possible to use extensionless URLs on Mono with Apache 2, if the site is configured for Mono to handle all requests.

In some cases you "may" also need to change this in Web.config to get it working correctly:

Find this:

<modules>

and change it like this:

<modules runAllManagedModulesForAllRequests="true">

What About IIS 6?

Things are not so pretty in making extensionless URLs work under IIS 6. It can be done by setting up wildcard mapping, and there are ways of doing it with third party ISAPI filters.

There is also a feature in .NET 4 that can be used as discussed here, and another approach is documented here.

Updated 2011-08-22 by Joe Audette
Updated 2012-02-09 by Jamie Eubanks

Last Modified by Joe Audette on Jun 18, 2012