htaccess / RealURL und Sprachen

  • neuz8 neuz8
    T3PO
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    19. 07. 2009, 10:47

    Hallo,

    bisher kam ich ganz gut durch stundenlanges Suchen zurecht aber jetzt komme ich nicht weiter. Die htaccess Geschichten wollen nicht so recht in meinen Kopf rein, das ist mir alles irgendwie zu hoch...

    Nun zu meinem Problem:

    Ich habe eine Website die 6 Sprachen haben soll, Deutsch ist schon länger in Betrieb.
    was ich geschafft habe ist:

    http://www.domain.de/ wird auf http://www.domain.de/de umgeleitet.
    (Sprachmenu wird erst am Ende eingebaut)
    und auch wenn ich de durch "es" tausche wird die korrekte Sprache angezeigt also
    http://www.domain.de/es , http://www.domain.de/fr etc. funktioniert.

    Jetzt zu meinem Problem:
    http://www.domain.de/sublink wird auch auf http://www.domain.de/de umgeleitet, was SEO technisch alle meine DeepLinks zerstört.

    Ich hätte gerne dass alle http://www.domain.de/sublink auf http://www.domain.de/sublink bleiben falls die Sprache Deutsch ist. Nur alle anderen Sprachen sollen dann Ihr Pathsegment bekommen.

    Hier meine realurl und htaccess und typoscript

    RealURL Konfiguration:

    1. <?php
    2. $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
    3. 'preVars' => array(
    4. 'GETvar' => 'L',
    5. 'valueMap' => array(
    6. 'de' => '0',
    7. 'es' => '1',
    8. 'en' => '2',
    9. 'nl' => '3',
    10. 'it' => '4',
    11. 'fr' => '5',
    12. ),
    13. 'valueDefault' => 'de',
    14. # 'noMatch' => 'bypass',
    15. ),
    16. ),
    17. 'init' => array(
    18. 'enableCHashCache' => true,
    19. 'appendMissingSlash' => 'ifNotFile',
    20. 'adminJumpToBackend' => true,
    21. 'enableUrlDecodeCache' => true,
    22. 'enableUrlEncodeCache' => true,
    23. 'emptyUrlReturnValue' => '/',
    24. ),
    25. 'pagePath' => array(
    26. 'type' => 'user',
    27. 'userFunc' =>
    28. 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
    29. 'spaceCharacter' => '-',
    30.  
    31. 'expireDays' => 3,
    32. 'rootpage_id' => '130'
    33. ),
    34. 'fileName' => array (
    35. 'defaultToHTMLsuffixOnPrev' => 0,
    36. 'index' => array(
    37. 'page.html' => array(
    38. 'keyValues' => array (
    39. 'type' => 1,
    40. ),
    41. ),
    42. ),
    43. ),
    44. );
    45.  
    46. $TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment';
    47. ?>

    .htaccess

    1. RewriteEngine On
    2.  
    3. RewriteCond %{REQUEST_FILENAME} !-f
    4. RewriteCond %{REQUEST_URI} !(.*)/$
    5. RewriteRule ^(.*)/ [L,R=301]
    6.  
    7. RewriteCond %{REQUEST_FILENAME} !-f
    8. RewriteCond %{REQUEST_URI} !^/de/(.*)$
    9. RewriteCond %{REQUEST_URI} !^/es/(.*)$
    10. RewriteCond %{REQUEST_URI} !^/en/(.*)$
    11. RewriteCond %{REQUEST_URI} !^/nl/(.*)$
    12. RewriteCond %{REQUEST_URI} !^/it/(.*)$
    13. RewriteCond %{REQUEST_URI} !^/fr/(.*)$
    14. RewriteRule ^(.*)$ /de/ [L,R=301]
    15.  
    16. RewriteRule ^typo3$ - [L]
    17. RewriteRule ^typo3/.*$ - [L]
    18. RewriteCond %{REQUEST_FILENAME} !-f
    19. RewriteCond %{REQUEST_FILENAME} !-d
    20. RewriteCond %{REQUEST_FILENAME} !-l
    21. RewriteRule .* index.php

    1. config {
    2. linkVars = L
    3. }
    4. # Default language, sys_language.uid = 0
    5. page.10.template.file = fileadmin/templates_2009/template.html
    6. config.sys_language_uid = 0
    7. config.language = de
    8. config.locale_all = de_DE
    9. config.htmlTag_langKey = de
    10.  
    11. # English language, sys_language.uid = 2
    12. [globalVar = GP:L = 2]
    13. page.10.template.file = fileadmin/templates_2009/template.html
    14. config.sys_language_uid = 2
    15. config.language = en
    16. config.locale_all = en_EN
    17. config.htmlTag_langKey = en
    18. [global]
    19. # French language, sys_language.uid = 5
    20. [globalVar = GP:L = 5]
    21. page.10.template.file = fileadmin/templates_2009/template.html
    22. config.sys_language_uid = 5
    23. config.language = fr
    24. config.locale_all = fr_FR
    25. config.htmlTag_langKey = fr
    26. [global]
    27. # Spain language, sys_language.uid = 1
    28. [globalVar = GP:L = 1]
    29. page.10.template.file = fileadmin/templates_2009/template_es.html
    30. config.sys_language_uid = 1
    31. config.language = es
    32. config.locale_all = es_ES
    33. config.htmlTag_langKey = es
    34. [global]
    35. # Italian language, sys_language.uid = 4
    36. [globalVar = GP:L = 4]
    37. page.10.template.file = fileadmin/templates_2009/template.html
    38. config.sys_language_uid = 4
    39. config.language = it
    40. config.locale_all = it_IT
    41. config.htmlTag_langKey = it
    42. [global]
    43. # Italian language, sys_language.uid = 3
    44. [globalVar = GP:L = 3]
    45. page.10.template.file = fileadmin/templates_2009/template.html
    46. config.sys_language_uid = 3
    47. config.language = nl
    48. config.locale_all = nl_NL
    49. config.htmlTag_langKey = nl
    50. [global]

    Ich glaube ich raffe die htaccess einfach nicht so recht... Will einfach nur das deutsche ohne das "de" in der URL haben und die alten Links sollen noch funktionieren... Hat einer einen Tip oder einen Hinweis den ich ausprobieren kann?


  • 1
  • neuz8 neuz8
    T3PO
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    19. 07. 2009, 23:55

    Hat einer ne Idee was ich probieren kann?
    Ich komme nicht mehr weite :(

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    20. 07. 2009, 08:02

    ich würd in deiner config eher 7 + 12 rausschmeissen, dann hast du überall domain.at/ + domain.at/page1.html und bei den anderten sprachen den key dazu...

  • neuz8 neuz8
    T3PO
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    20. 07. 2009, 19:02

    Super, das is ja einfach - uns logisch - echt peinlich... ich such jetzt gleich mal was wo ich helfen kann um das auszugleichen ;)

    Also ich habe jetzt:
    RewriteCond %{REQUEST_URI} !^/de/(.*)$
    aus der htaccess rausgeschmissen

    'de' => '0',
    und
    'valueDefault' => 'de',
    aus der realurl config raus, cache geleert und ab die Post, funktioniert genau so wie ich das wollte! SUPER! Vielen Dank!

  • 1