Symptoms
Steps to reproduce:
- Site default language: German (de)
- Create a node (in German (*)), with a German url alias path/to/x.
- Visit path/to/x as anonymous user -> you see the node.
- Use a separate browser tab to log in as a user with language = English, but who is allowed to see the node created before. (**)
- Refresh the browser tab with path/to/x
Expected result:
path/to/x still shows the same node, even if the user language is English.
Actual result:
path/to/x gives 404 Path not found.
(*) I'm not sure if the node language plays any role here.
(**) For me this was the admin account, which obviously can see the node.
Background / design goal
Urls should survive a user login, or other session-related changes.
Proposed change
Url aliases should consider only the language from path prefix or domain, not from a user only the path alias, not the user language or session language.
Since changing the current behavior would be a BC break, this would have to be optional and configurable somehow.
Comments
Comment #2
donquixote commentedStrange..
drupal_lookup_path()does useglobal $language_url, which is the language from the path.So the effect described above should not occur.
Currently I fail to reproduce it.
But I am sure it did happen last time, under different circumstances. Going to investigate further.
Comment #3
donquixote commentedI think the problem was from https://drupal.org/project/redirect, not from url aliases.
I will close this issue if I confirm this.
Comment #4
donquixote commentedCreated #2908995: redirect_get_current_redirect() should use language from url. instead, in redirect queue.