Multiple URL's for news entry?
Setup a dynamic route that points to the same template that you have set up in the section settings for your "slug URLs". Use a pattern like so: news/&lt;id&gt;, which passes the 2rd URL segment as a variable named id to the template.

Add this snippet to the top of your template.

{% if not entry and id %}
    {% set entry = craft.entries.id(id).first() %}
{% endif %}

{% if not entry %}
    {% exit 404 %}
{% endif %}


If Craft finds a route for your entry slug (routing case 3), that code does nothing at all, because the entry model is already set.

When no route was found that matches an entry slug, your dynamic route comes into play (routing case 4), which routes the request to the same template.
But now there is no entry variable set and we can go ahead and try to grab it manually using the id variable passed in.

Update:
as already mentioned in the comments, don’t forget to setup canonical meta tags to avoid duplicate content penalties.

&lt;link rel="canonical" href="{{ entry.getUrl() }}"&gt;