Symptoms

Steps to reproduce:

  1. Site default language: German (de)
  2. Create a node (in German (*)), with a German url alias path/to/x.
  3. Visit path/to/x as anonymous user -> you see the node.
  4. Use a separate browser tab to log in as a user with language = English, but who is allowed to see the node created before. (**)
  5. 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

donquixote created an issue. See original summary.

donquixote’s picture

Strange..
drupal_lookup_path() does use global $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.

donquixote’s picture

I think the problem was from https://drupal.org/project/redirect, not from url aliases.
I will close this issue if I confirm this.

donquixote’s picture

Status: Active » Closed (cannot reproduce)
Related issues: +#2908995: redirect_get_current_redirect() should use language from url.