CoolURI and Typo3 6.0.2 Problem

After upgrading a typo3 installation to version 6.0.2 I noticed CoolURI did not work any longer. I always ended up with endless redirects (301) when trying to open a page.
Disabling the redirect of old links to new ones in the typo3 template did allow me to open at least a “regular” uri such as www.mydomain.com/index.php?id=4.
By this, I was able to see the links have been generated fine in the html output (e.g. www.mydomain.com/home.html). However, clicking on one of the links led to an endless redirect.

Next, I checked the CoolURI cache without any entry in there. But no error messages. Only if I tried to manually create a new uri in the cooluri cache, I received an error message that cooluri wasn’t able to create the cache entry (“Could not save the link.”).

Due to this, I checked the database and found … nothing. The cooluri caching tables were not present in the database.
I assume I have accepted to remove them from the system during the upgrade to Typo3 6.x. However, there seems to be no Typo3 6.x compatible database definition in cooluri, because neither the extension manager, nor the “compare” in the installation tool offer me the option to create these tables.

So finally, I was able to fix the problem by running the insert queries on the database (MySQL) on my own to create the tables manually.

The sql script to create the tables are presented below.

CREATE TABLE IF NOT EXISTS `link_cache` (
`id` int(10) unsigned NOT NULL auto_increment,
`params` blob,
`url` char(255) collate latin1_german2_ci default NULL,
`tstamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`crdatetime` datetime default NULL,
`sticky` tinyint(1) unsigned default '0',
PRIMARY KEY (`id`),
KEY `url` (`url`(64)),
KEY `params` (`params`(64))
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=27 ;

-- --------------------------------------------------------

--
-- Table structure for table `link_oldlinks`
--

CREATE TABLE IF NOT EXISTS `link_oldlinks` (
`id` int(10) unsigned NOT NULL auto_increment,
`link_id` int(10) unsigned NOT NULL default '0',
`url` char(255) collate latin1_german2_ci default NULL,
`tstamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `url` (`url`(64))
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=3 ;

2 Comments

  1. Peter

    Thank’s a lot!
    You will find so much workarounds and comments for this problem, but your solution is simply the best … i got crazy 🙂

  2. frank

    thank you so much!
    i tried everything, but this was the way!

Leave a Comment