A default ExpressionEngine installation assumes that the forum will always reside at the URL:
http://example.com/index.php/forums
Although you can freely change the URL of the forum, the Discussion Forum Module logic expects the forum to be the first URL Segment Variable, {segment_1}
of the URI.
This information isn't as widely documented as it should be, and provides a lot of confusion for people who wish to run their forum at a different URL or on a subdomain.
To enable the Discussion Forum to run as a different URL — on the second segment {segment_2}
— you'll need to configure EE to run the forum through regular templates*.
In your example, you'll want to:
- Create a new template group:
students
- Within that template group, create a new template:
forum
- In the
forum
template, put the following code: {exp:forum}
- From the Control Panel, go to Add-Ons > Modules > Discussion Forum > Default Preferences
- Configure your Forum Board Preferences to the following:
Forum Board Label: Students Forum
Forum Forum Board Short Name: forum
Forum URL: http://example.com/index.php/students/forum
Forum Triggering Word: <empty>

At this point, your forum will then be run inside the regular EE templating engine. The forum is then accessed through whichever template you created above — the template name is used in place of the "trigger" word mentioned earlier:
http://example.com/index.php/students/forum
The down side of this approach is that it adds more processing overhead, so it's not recommended unless users really need this capability. Since the forum can’t be cached, on very busy sites this can create some unwanted server load.
Do not cache the Template you create for the forum. If you do so, your forum will not behave dynamically.