Details
-
Bug
-
Resolution: Duplicate
-
High
-
4.7.0
-
None
-
eZ Publish 4.7
Description
According to the UrlAlias redirection mechanism, when an object is updated to change its title, the old URL is automatically redirected to the new one. This mechanism is handled by the 'ezurlalias_ml' table. But in a multilingual website, when there is an object with the same name in multiple languages (say, English and French), and that object is updated on one language, this behavior is broken. When you try to request the old URL, you get a "Module not found" page (error kernel 20) error, instead of being redirected to the new URL.
Steps to reproduce:
1. Prepare an eZ Publish 4.7 installation, fully patched, in multiple languages (in this case, eng-GB (main), nor-NO and por-PT);
2. Set eng-GB frontend siteaccess only in English:
--- settings/siteaccesss/eng/site.ini.append.php [RegionalSettings] Locale=eng-GB ContentObjectLocale=eng-GB ShowUntranslatedObjects=disabled SiteLanguageList[] SiteLanguageList[]=eng-GB ---
3. Create a new article called "13192 Test Article" in eng-GB and por-PT:
mysql> SELECT * FROM ezurlalias_ml WHERE action='eznode:129'; +------------+-------------+-----------------+-----+----------+-------------+-----------+------+--------+--------------------+----------------------------------+ | action | action_type | alias_redirects | id | is_alias | is_original | lang_mask | link | parent | text | text_md5 | +------------+-------------+-----------------+-----+----------+-------------+-----------+------+--------+--------------------+----------------------------------+ | eznode:129 | eznode | 1 | 142 | 0 | 1 | 10 | 142 | 85 | 13192-Test-Article | 7a0a1c289ca8be844c040ec4dfc9e28a | +------------+-------------+-----------------+-----+----------+-------------+-----------+------+--------+--------------------+----------------------------------+ 1 row in set (0.00 sec)
4. Update the eng-GB version, and change the title to '13192 Test Article Updated':
SELECT * FROM ezurlalias_ml WHERE action='eznode:129'; +------------+-------------+-----------------+-----+----------+-------------+-----------+------+--------+----------------------------+----------------------------------+ | action | action_type | alias_redirects | id | is_alias | is_original | lang_mask | link | parent | text | text_md5 | +------------+-------------+-----------------+-----+----------+-------------+-----------+------+--------+----------------------------+----------------------------------+ | eznode:129 | eznode | 1 | 142 | 0 | 1 | 8 | 142 | 85 | 13192-Test-Article | 7a0a1c289ca8be844c040ec4dfc9e28a | | eznode:129 | eznode | 1 | 142 | 0 | 1 | 2 | 142 | 85 | 13192-Test-Article-Updated | 9c5e54acb8dfdbc82609cccff0c57605 | +------------+-------------+-----------------+-----+----------+-------------+-----------+------+--------+----------------------------+----------------------------------+ 2 rows in set (0.00 sec)
5. Try to request the "13192-Test-Article" URL in the English siteaccess: a "Module not found" page (error kernel 20) error is displayed, instead of re-directing to "13192-Test-Article-Updated".
Attachments
Issue Links
- relates to
-
EZP-23042 Doc: Urlalias history removed for an existing translation when updating content
-
- Closed
-