[TYPO3-english] RealURL force preVar
Urs Bräm
info at ursbraem.ch
Sun Feb 12 11:08:35 CET 2012
Ah, probably this could be done with regex in the .htaccess!
Am 12.02.12 11:04, schrieb Urs Bräm:
> Hi Michael
>
> sorry for not replying earlier! Thanks for your solution - though I
> couldn't get it to work yet.
>
> Just a quick check if you mean the same thing as I:
>
> In my setup, there are no alternative language domains, just one main
> domain. I just want RealURL to 301 all URLs that contain no language
> parameter to the home page, or even 404 them. This is because I don't
> want any USER_INT scripts on my pages to get better caching.
>
> So something like: "If no preVar, then buzz off"
>
> Is that roughly what your solution does?
>
> best regards
> Urs
>
>
>
> Am 13.01.12 18:44, schrieb Michael Cannon:
>> Urs,
>>
>> If you're using a custom realurl configuration, then you can use the
>> _DOMAINS encode/decode options to force your language.
>>
>> Maybe it's not the cleanest, but works for some of what I need.
>>
>> $TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
>> '_DEFAULT' => $realurlConfig,
>> 'www.example.com' => $realurlConfig,
>> 'www.example.fr' => $realurlConfig,
>> 'www.example.de' => $realurlConfig,
>> );
>>
>> $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAINS'] = array(
>> 'encode' => array(
>> array(
>> 'GETvar' => 'L',
>> 'value' => '0', // de
>> 'useConfiguration' => 'www.example.de',
>> 'urlPrepend' => 'http://www.example.de'
>> ),
>> array(
>> 'GETvar' => 'L',
>> 'value' => '1', // en
>> 'useConfiguration' => 'www.example.com',
>> 'urlPrepend' => 'http://www.example.com'
>> ),
>> ...
>> array(
>> 'GETvar' => 'L',
>> 'value' => '3', // fr
>> 'useConfiguration' => 'www.example.fr',
>> 'urlPrepend' => 'http://www.example.com/fr/'
>> ),
>> ),
>> 'decode' => array(
>> 'www.example.com' => array(
>> 'GETvars' => array(
>> 'L' => '0',
>> ),
>> 'useConfiguration' => 'www.example.de'
>> ),
>> 'www.example.de' => array(
>> 'GETvars' => array(
>> 'L' => '1',
>> ),
>> 'useConfiguration' => 'www.example.com'
>> ),
>> 'www.example.fr' => array(
>> 'GETvars' => array(
>> 'L' => '3',
>> ),
>> 'useConfiguration' => 'www.example.fr'
>> ),
>> )
>> );
>>
>> Michael
>> --
>> Michael Cannon
>> The TYPO3 Vagabond<http://typo3vagabond.com> @ in2code.de
>> Been there, done that, 25 years of coding
>> Germany +49 (0)160 574 1973
>> US +1 617 539 6072
>> http://typo3vagabond.com
>>
>>
>>
>>
>>
>> On Mon, Jan 9, 2012 at 11:04 PM, Urs Bräm<info at ursbraem.ch> wrote:
>>
>>> Hi
>>>
>>> is it possible to make RealURL force the preVar language parameter to
>>> avoid duplicate content?
>>>
>>> My sites mostly should have a symmetrical URL structure for each
>>> language,
>>> like so:
>>>
>>> example.com/de/kontakt (L=0)
>>> example.com/fr/contact (L=1)
>>>
>>> not like so:
>>>
>>> example.com/kontakt (L=0)
>>> example.com/fr/contact (L=1)
>>>
>>> (as in the second example it would make the impression that the two
>>> languages don't have the same value, as german would be the main
>>> language
>>> and french a mere translation; a swiss political issue)
>>>
>>> This symmetrical URL structure is of course easy to achieve, but still
>>> Links in the form of example.com/kontakt *do work* and generate pages
>>> without the preVar in all the links. Is there a way to force TYPO3 to
>>> always maintain the preVar and force the default language into the
>>> URL if
>>> nothing is set??
>>>
>>> I'm not that concerned about DC, but I have had a few other problems
>>> resulting from confusions with the multiple URLs.
>>>
>>> Thanks!
>>> Urs
>>>
>>> PS here's my Config. I know "'noMatch' => 'bypass'" is usually not set,
>>> but I need it and turning it off wouldn't change anything regarding to a
>>> URL without preVar:
>>>
>>> <?php
>>> $TYPO3_CONF_VARS['EXTCONF']['**realurl']['_DEFAULT'] = array(
>>> 'init' => array(
>>> 'enableCHashCache' => 1,
>>> 'appendMissingSlash' => 'ifNotFile',
>>> 'enableUrlDecodeCache' => 1,
>>> 'enableUrlEncodeCache' => 1,
>>> 'respectSimulateStaticURLs' => 0,
>>> //'postVarSet_failureMode'=>'**redirect_goodUpperDir',
>>> ),
>>> 'redirects_regex' => array (
>>>
>>> ),
>>> 'preVars' => array(
>>> array(
>>> 'GETvar' => 'L',
>>> 'valueMap' => array(
>>> 'de' => '0',
>>> 'fr' => '1',
>>> ),
>>> 'valueDefault' => 'de',
>>> 'noMatch' => 'bypass',
>>> ),
>>> array(
>>> 'GETvar' => 'no_cache',
>>> 'valueMap' => array(
>>> 'no_cache' => 1,
>>> ),
>>> 'noMatch' => 'bypass',
>>> ),
>>> ),
>>> 'pagePath' => array(
>>> 'type' => 'user',
>>> 'userFunc' => 'EXT:realurl/class.tx_realurl_**
>>> advanced.php:&tx_realurl_**advanced->main',
>>> 'spaceCharacter' => '-',
>>> 'languageGetVar' => 'L',
>>> 'expireDays' => 7,
>>> 'rootpage_id' => 1,
>>> ),
>>>
>>>
>>> 'postVarSets' => array(
>>> '_DEFAULT' => array(
>>> // news archive parameters
>>> 'date' => array(
>>> array(
>>> 'GETvar' => 'tx_ttnews[month]' ,
>>>
>>> ),
>>> array(
>>> 'GETvar' => 'tx_ttnews[year]' ,
>>> ),
>>>
>>> ),
>>> // news pagebrowser
>>> 'browse' => array(
>>> array(
>>> 'GETvar' => 'tx_ttnews[pointer]',
>>> ),
>>> ),
>>> // news categories
>>> 'select_category' => array (
>>> array(
>>> 'GETvar' => 'tx_ttnews[cat]',
>>> ),
>>> ),
>>> // news articles and searchwords
>>> 'art' => array(
>>> array(
>>> 'GETvar' => 'tx_ttnews[pointer]',
>>> 'valueMap' => array(),
>>> 'noMatch' => 'bypass',
>>> ),
>>> array(
>>> 'GETvar' => 'tx_ttnews[tt_news]',
>>> 'lookUpTable' => array(
>>> 'table' => 'tt_news',
>>> 'id_field' => 'uid',
>>> 'alias_field' => 'title',
>>> 'addWhereClause' => ' AND NOT deleted',
>>> 'useUniqueCache' => 1,
>>> 'useUniqueCache_conf' => array(
>>> 'strtolower' => 1,
>>> 'spaceCharacter' => '-',
>>> ),
>>> 'languageGetVar' => 'L',
>>> 'languageExceptionUids' => '',
>>> 'languageField' => 'sys_language_uid',
>>> 'transOrigPointerField' => 'l18n_parent',
>>> 'autoUpdate' => 1,
>>> 'expireDays' => 180,
>>> ),
>>> ),
>>> ),
>>> ),
>>> ),
>>>
>>> 'fileName' => array(
>>> 'defaultToHTMLsuffixOnPrev'=>**0,
>>> 'index' => array(
>>> 'rss.xml' => array(
>>> 'keyValues' => array(
>>> 'type' => 100,
>>> ),
>>> ),
>>> 'rss091.xml' => array(
>>> 'keyValues' => array(
>>> 'type' => 101,
>>> ),
>>> ),
>>> 'rdf.xml' => array(
>>> 'keyValues' => array(
>>> 'type' => 102,
>>> ),
>>> ),
>>> 'atom.xml' => array(
>>> 'keyValues' => array(
>>> 'type' => 103,
>>> ),
>>> ),
>>> ),
>>> ),
>>> );
>>> php?>
>>>
>>> --
>>> Urs Bräm
>>> macht Websites
>>> ---
>>> Certified Typo3 Integrator
>>> CH-3011 Bern
>>> www.ursbraem.ch
>>> ______________________________**_________________
>>> TYPO3-english mailing list
>>> TYPO3-english at lists.typo3.org
>>> http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-**english<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-english>
>>>
>>>
>
>
--
Urs Bräm
macht Websites
---
Certified Typo3 Integrator
CH-3011 Bern
www.ursbraem.ch
More information about the TYPO3-english
mailing list