diff --git a/modules/mod_ginger_base/controllers/controller_rest_resources.erl b/modules/mod_ginger_base/controllers/controller_rest_resources.erl index 9f92cd7a..19b1a6c6 100644 --- a/modules/mod_ginger_base/controllers/controller_rest_resources.erl +++ b/modules/mod_ginger_base/controllers/controller_rest_resources.erl @@ -253,9 +253,15 @@ path_to_id("/", Context) -> path_to_id(Path, Context) -> case string:tokens(Path, "/") of ["page", Id | _] -> - {ok, erlang:list_to_integer(Id)}; + case m_rsc:rid(Id, Context) of + undefined -> {error, enoent}; + RscId -> {ok, RscId} + end; [_Language, "page", Id | _] -> - {ok, erlang:list_to_integer(Id)}; + case m_rsc:rid(Id, Context) of + undefined -> {error, enoent}; + RscId -> {ok, RscId} + end; _ -> case m_rsc:page_path_to_id(Path, Context) of {redirect, Id} ->