OJS3: Compatibility with OJS2 URLs

Hi *,
after migrating our OJS2 Instance to OJS3 all Links to articles are broken. The previous route to view an article in OJS2 was baseUrl/<journal_code>/<article_id>. Now it’s something like baseUrl/index.php/<journal_code>/article/view/<article_id>. I know the index.php can be made obsolete using RESTFUL URLs but the URLs from OJS2 will still not be resolvable, will they?
Is there any way to enable this?

Nemo Grippa

I managed to solve it via .htacces:

RewriteEngine On
RewriteRule "^([a-z]{2,6})/([0-9]{1,6})$" "index.php/$1/article/view/$2" [NC,L] # Enables redirections from old OJS2 URLs to new OJS3 URLs.
# Eventually seperate rewrite rules for each of the old journals are safer

OJS 2.x should have been generating URLs of the form baseUrl/<journalCode>/article/view/<articleId> as well. Did you have some custom code or a url rewrite on the old server which changed this to drop the “article/view” ? Note that the presence of “article/view” in the URL helps OJS to comply with REST expectations, and helps others (such as Google Scholar) spider the site.

Yes, the URL route to articles is the same between OJS 2 and 3, so there must have been some rewrite rule in your OJS 2 implementation before.

Anyway, it is recommended to use DOI instead of the article URL to link to the article page.