[Frage] RealURL /de und /fr resp. /Sprachkürzel gibt Fehlermeldung 404 TYPO3-Version: 7.6.16

  • danaron danaron
    R2-D2
    0 x
    79 Beiträge
    0 Hilfreiche Beiträge
    08. 04. 2017, 23:23

    Hallo zusammen,
    Ich habe ein mir unerklärbares Verhalten mit RealURL 2.19.
    Nach Update alle Caches gelöscht und auch unter der neuen RealURL Rubrik URL Daten den Mut gehabt den roten Button Alle Daten löschen (schädlich) zu klicken. Alles funktioniert, dann nachdem die Seite einer Weile in Betrieb ist, kommen neue URL Daten dazu und plötzlich funktionierten die Links

    http://www.domain.ch/fr/ und http://www.domain.ch/de/ nicht mehr sondern werden auf die Fehlerseite weitergeleitet.

    Wieder den gefährlichen roten Button geklickt und der Fehler ist weg.

    Mal näher angeschaut. Liegt wohl an den Einträgen
    fr/ L=1&id=1 und de/ L=0&id=1 oder / id=1
    Sind jedenfalls diese, welche den Fehler beseitigen, wenn ich sie lösche.

    Meine Fragen: hat jemand ein ähnliches Verhalten gesehen?
    An was könnte das liegen?
    Wie kann ich den Fehler beheben beheben respektive machen, dass er nicht mehr auftritt?

    Problematisch ist auch, dass beide Seiten, / und /de existieren und so doppelter Content liefern. Wie kann ich das unterbinde?

    Danke an alle für die Hilfe.
    Herzliche Grüsse

    Danke für deine Hilfe. Cool wenn du dich mit mir auf den Social Media verbindest!


  • 1
  • neotron neotron
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    09. 04. 2017, 08:22

    Hallo danaron,

    Poste mal deine RealURL config.

    LG

  • danaron danaron
    R2-D2
    0 x
    79 Beiträge
    0 Hilfreiche Beiträge
    09. 04. 2017, 22:47

    Hoi neotron,
    Danke für deine Antwort. Mache ich gerne:

    1. <?php
    2. $TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = array(
    3. 'init' => array (
    4. 'useCHashCache' => '0',
    5. 'enableCHashCache' => '1',
    6. 'appendMissingSlash' => 'ifNotFile,redirect[301]',
    7. 'enableUrlDecodeCache' => '1',
    8. 'enableUrlEncodeCache' => '1',
    9. ),
    10. 'preVars' => array(
    11. 'GETvar' => 'L',
    12. 'valueMap' => array(
    13. 'de' => '0',
    14. 'fr' => '1',
    15. ),
    16. 'valueDefault' => 'de',
    17. ),
    18. ),
    19. 'pagePath' => array (
    20. 'type' => 'user',
    21. 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
    22. 'spaceCharacter' => '-',
    23. 'languageGetVar' => 'L',
    24. 'expireDays' => '3',
    25. 'rootpage_id' => '1',
    26. ),
    27. 'fixedPostVars' => array (
    28. ),
    29. 'postVarSets' => array (
    30. '_DEFAULT' => array (
    31. // news pagebrowser
    32. 'browse' => array(
    33. 'GETvar' => 'tx_ttnews[pointer]',
    34. ),
    35. ),
    36. // news categories
    37. 'select_category' => array (
    38. 'GETvar' => 'tx_ttnews[cat]',
    39. ),
    40. ),
    41. // news articles anMd searchwords
    42. 'news' => array(
    43. 'GETvar' => 'tx_ttnews[tt_news]',
    44. 'lookUpTable' => array(
    45. 'table' => 'tt_news',
    46. 'id_field' => 'uid',
    47. 'alias_field' => 'title',
    48. 'addWhereClause' => ' AND NOT deleted',
    49. 'useUniqueCache' => 1,
    50. 'useUniqueCache_conf' => array(
    51. 'strtolower' => 1,
    52. 'spaceCharacter' => '-',
    53. ),
    54. ),
    55. ),
    56. 'GETvar' => 'tx_ttnews[year]' ,
    57. ),
    58. 'GETvar' => 'tx_ttnews[month]' ,
    59. ),
    60. 'GETvar' => 'tx_ttnews[day]' ,
    61. ),
    62. 'GETvar' => 'tx_ttnews[backPid]',
    63. ),
    64. 'GETvar' => 'tx_ttnews[swords]',
    65. ),
    66. ),
    67. ),
    68. ),
    69. 'fileName' => array (
    70. 'defaultToHTMLsuffixOnPrev' => false,
    71. 'index' => array (
    72. 'rss.xml' => array (
    73. 'keyValues' => array (
    74. 'type' => '100',
    75. ),
    76. ),
    77. 'rss091.xml' => array (
    78. 'keyValues' => array (
    79. 'type' => '101',
    80. ),
    81. ),
    82. 'rdf.xml' => array (
    83. 'keyValues' => array (
    84. 'type' => '102',
    85. ),
    86. ),
    87. 'atom.xml' => array (
    88. 'keyValues' => array (
    89. 'type' => '103',
    90. ),
    91. ),
    92. ),
    93. ),
    94. );
    95. ?>

    Danke für deine Hilfe. Cool wenn du dich mit mir auf den Social Media verbindest!

  • danaron danaron
    R2-D2
    0 x
    79 Beiträge
    0 Hilfreiche Beiträge
    09. 04. 2017, 22:56

    und hier auch gleich noch das .htaccess file.

    [code]

    1. # Enable URL rewriting
    2. RewriteEngine On
    3. RewriteBase /
    4. RewriteRule ^typo3$ - [L]
    5. RewriteRule ^typo3/.*$ - [L]
    6. RewriteRule ^uploads/.*$ - [L]
    7. RewriteRule ^fileadmin/.*$ - [L]
    8. RewriteRule ^typo3conf/.*$ - [L]
    9.  
    10. RewriteCond %{REQUEST_FILENAME} !-f
    11. RewriteCond %{REQUEST_FILENAME} !-d
    12. RewriteCond %{REQUEST_FILENAME} !-l
    13. RewriteCond %{REQUEST_URI} !^/typo3/$
    14. RewriteCond %{REQUEST_URI} !^/(de|fr)/(.*)$
    15. RewriteRule ^(.*)$ /de/$1 [L,R=301]
    16.  
    17. RewriteCond %{REQUEST_FILENAME} !-f
    18. RewriteCond %{REQUEST_FILENAME} !-d
    19. RewriteCond %{REQUEST_FILENAME} !-l
    20. RewriteRule .* index.php
    21. RewriteRule ^(.*)\.htm$ /index.php
    22.  
    23. # Redirect damit nur mit www erscheint
    24. RewriteCond %{HTTP_HOST} ^domain\.ch$ [NC]
    25. RewriteRule ^(.*)$ http://www.domain.ch/$1 [R=301,L]
    26.  
    27. ErrorDocument 404 /fileadmin/error/404.php
    28.  
    29. <FilesMatch "\.js\.gzip$">
    30. AddType "text/javascript" .gzip
    31. </FilesMatch>
    32. <FilesMatch "\.css\.gzip$">
    33. AddType "text/css" .gzip
    34. </FilesMatch>
    35. AddEncoding gzip .gzip
    36.  
    37. AddType video/ogg .ogv
    38. AddType video/mp4 .mp4
    39. AddType video/webm .webm
    40. SetEnvIfNoCase Request_URI \.(ogv|mp4|webm)$ no-gzip dont-vary
    [/code]

    Danke für deine Hilfe. Cool wenn du dich mit mir auf den Social Media verbindest!

  • neotron neotron
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    10. 04. 2017, 09:36

    Hallo Danaron,

    Ich habe folgendes in der RealURL conf.

    0 = de
    1 = deaktiviert
    2 - 5 = restlichen Sprachen

    'valueDefault' => 'de', = Warum? Die Sprachen sind doch im TS-Setup einzustellen.

    RewriteCond %{REQUEST_URI} !^/(de|fr)/(.*)$
    RewriteRule ^(.*)$ /de/$1 [L,R=301] = Soetwas habe ich nicht in der .htaccess

    Nachfolgend der Sprachteil meiner RealURL.conf.

    Good luck

    1. 'pagePath' =>
    2. 'type' => 'user',
    3. 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
    4. 'spaceCharacter' => '-',
    5. 'languageGetVar' => 'L',
    6. 'rootpage_id' => '1',
    7. ),
    8. 'fileName' =>
    9. 'defaultToHTMLsuffixOnPrev' => 0,
    10. 'acceptHTMLsuffix' => 0,
    11. 'index' =>
    12. 'print' =>
    13. 'keyValues' =>
    14. 'type' => 98,
    15. ),
    16. ),
    17. ),
    18. ),
    19.  
    20.  
    21.  
    22. 'preVars' =>
    23. 0 =>
    24. 'GETvar' => 'L',
    25. 'valueMap' =>
    26. 2 => '2',
    27. 3 => '3',
    28. 4 => '4',
    29. 5 => '5',
    30. 'en' => '2',
    31. 'fr' => '3',
    32. 'hu' => '4',
    33. 'se' => '5',
    34.  
    35. ),
    36. 'noMatch' => 'bypass',
    37. ),
    38. ),

  • danaron danaron
    R2-D2
    0 x
    79 Beiträge
    0 Hilfreiche Beiträge
    11. 04. 2017, 14:49

    Hallo Neotron,
    Danke vielmals für dein Feedback. Habe nun Realurl deinstalliert, mit Compare DB in Installtool die DB gelöscht, dann die neue Realurl Version 2.2.0 installiert. Der neue, mit deinem Tipps aufgeräumte Code sieht nun so auf:

    Realurl configruation:

    [code]

    1. <?php
    2. $TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = array(
    3. 'init' => array (
    4. 'useCHashCache' => '0',
    5. 'enableCHashCache' => '1',
    6. 'appendMissingSlash' => 'ifNotFile,redirect[301]',
    7. 'enableUrlDecodeCache' => '1',
    8. 'enableUrlEncodeCache' => '1',
    9. ),
    10. 'preVars' => array(
    11. 'GETvar' => 'L',
    12. 'valueMap' => array(
    13. 'de' => '0',
    14. 'fr' => '1',
    15. ),
    16. 'valueDefault' => 'de',
    17. ),
    18. ),
    19. 'pagePath' => array (
    20. 'type' => 'user',
    21. 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
    22. 'spaceCharacter' => '-',
    23. 'languageGetVar' => 'L',
    24. 'expireDays' => '3',
    25. 'rootpage_id' => '1',
    26. ),
    27. 'fixedPostVars' => array (
    28. ),
    29. 'postVarSets' => array (
    30. '_DEFAULT' => array (
    31. // news pagebrowser
    32. 'browse' => array(
    33. 'GETvar' => 'tx_ttnews[pointer]',
    34. ),
    35. ),
    36. // news categories
    37. 'select_category' => array (
    38. 'GETvar' => 'tx_ttnews[cat]',
    39. ),
    40. ),
    41. // news articles anMd searchwords
    42. 'news' => array(
    43. 'GETvar' => 'tx_ttnews[tt_news]',
    44. 'lookUpTable' => array(
    45. 'table' => 'tt_news',
    46. 'id_field' => 'uid',
    47. 'alias_field' => 'title',
    48. 'addWhereClause' => ' AND NOT deleted',
    49. 'useUniqueCache' => 1,
    50. 'useUniqueCache_conf' => array(
    51. 'strtolower' => 1,
    52. 'spaceCharacter' => '-',
    53. ),
    54. ),
    55. ),
    56. 'GETvar' => 'tx_ttnews[year]' ,
    57. ),
    58. 'GETvar' => 'tx_ttnews[month]' ,
    59. ),
    60. 'GETvar' => 'tx_ttnews[day]' ,
    61. ),
    62. 'GETvar' => 'tx_ttnews[backPid]',
    63. ),
    64. 'GETvar' => 'tx_ttnews[swords]',
    65. ),
    66. ),
    67. ),
    68. ),
    69. 'fileName' => array (
    70. 'defaultToHTMLsuffixOnPrev' => false,
    71. 'index' => array (
    72. 'rss.xml' => array (
    73. 'keyValues' => array (
    74. 'type' => '100',
    75. ),
    76. ),
    77. 'rss091.xml' => array (
    78. 'keyValues' => array (
    79. 'type' => '101',
    80. ),
    81. ),
    82. 'rdf.xml' => array (
    83. 'keyValues' => array (
    84. 'type' => '102',
    85. ),
    86. ),
    87. 'atom.xml' => array (
    88. 'keyValues' => array (
    89. 'type' => '103',
    90. ),
    91. ),
    92. ),
    93. ),
    94. );
    95. ?>
    [/code]

    und der .htaccess

    [code]# Enable URL rewriting
    RewriteEngine On
    RewriteBase /
    RewriteRule ^typo3$ - [L]RewriteRule ^typo3/.*$ - [L]RewriteRule ^uploads/.*$ - [L]RewriteRule ^fileadmin/.*$ - [L]RewriteRule ^typo3conf/.*$ - [L]

    # Redirect, wenn keine Sprache gesetzt ist ###
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule .* index.php
    RewriteRule ^(.*)\.htm$ /index.php

    # Redirect damit nur mit www erscheint
    RewriteCond %{HTTP_HOST} ^domain\.ch$ [NC]RewriteRule ^(.*)$ http://www.domain.ch/$1 [R=301,L]

    ErrorDocument 404 /fileadmin/error/404.php

    <FilesMatch "\.js\.gzip$">
    AddType "text/javascript" .gzip
    </FilesMatch>
    <FilesMatch "\.css\.gzip$">
    AddType "text/css" .gzip
    </FilesMatch>
    AddEncoding gzip .gzip

    AddType video/ogg .ogv
    AddType video/mp4 .mp4
    AddType video/webm .webm
    SetEnvIfNoCase Request_URI \.(ogv|mp4|webm)$ no-gzip dont-vary[/code]

    Leider habe ich aber immer noch folgende Probleme:
    Startseite ist / und somit existiert auf /de doppelter Content.
    Wie machst du das? Umleitung im .htaccess?

    Dann ist nachdem die Seite einige Zeit in Betrieb ist, im RealURL Modul unter URL-Daten Einträge, welche ein richtiges Aufrufen der URL domain.ch/de und domain.ch/fr verhindern und die URL auf die Fehlerseite weiterleiten:
    Sprechende URL: de/
    Original-URL: L=0&id=1
    Wie kann ich das verhindern? Gibt es eine Möglichkeit die URL-Daten gar nicht erst entstehen zu lassen?

    Danke fürs Reinschauen.
    Herzlich danaron

    Danke für deine Hilfe. Cool wenn du dich mit mir auf den Social Media verbindest!

  • danaron danaron
    R2-D2
    0 x
    79 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2017, 18:11

    Also das Problem ist die Google Adwords, welche die SEO des Kunden gesetzt hat. Alle Seiten welche mit damit aufgerufen wurden, werden dann zu 404. Liegt am gclid Parameter:

    Wer kennt eine Lösung? Google hat folgendes Parat:

    1. $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
    2. 'yourdomain.de' => array(
    3. 'cache' => array(
    4. 'ignoredGetParametersRegExp' => '/^(?:gclid|utm_[a-z]+|pk_campaign|pk_kwd|TSFE_ADMIN_PANEL.*)$/',
    5. ),

    oder

    [code]

    1. $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'] = array(
    2. //[...]
    3. 'cache' => array(
    4. 'banUrlsRegExp' => '/gclid|tx_solr|tx_indexed_search|(?:^|\?|&)q=/'
    5. ),
    6. //[...]
    [/code]

    oder im .htaccess

    [code]

    1. RewriteCond %{QUERY_STRING} ^gclid=(.*)
    2.  
    3. RewriteRule .* index.php? [L]
    [/code]

    Hat jemand damit Erfahrung?
    Herzlich
    danaron

    Danke für deine Hilfe. Cool wenn du dich mit mir auf den Social Media verbindest!

  • danaron danaron
    R2-D2
    0 x
    79 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2017, 21:55

    Also ich habe nun mit folgender zusätzlicher Zeile in der Realurl config das Problem gelöst:

    'cache' => array(
    'banUrlsRegExp' => '/gclid|tx_solr|tx_indexed_search|(?:^|\?|&)q=/',
    ),

    Das Problem war die Google Adwords Parameter gclid, welche den Fehler verursacht haben.
    Danke für die Hilfe, hoffe einigen damit eine langwierige Fehlersuche ersparen zu können.
    Herzlich
    danaron

    Danke für deine Hilfe. Cool wenn du dich mit mir auf den Social Media verbindest!

  • karlchen karlchen
    Jedi-General
    0 x
    1433 Beiträge
    30 Hilfreiche Beiträge
    22. 04. 2017, 20:33

    Sage mal hast du auch im Typoscript die Option linkvars gesetzt? Bsp. http://typo3blogger.de/linkvars-richtig-setzen-turchen-22/

    Weil die Variablen eigentlich keinen Einfluss auf die url und Seitengenerierung von TYPO3 haben sollten.

    https://github.com/dmitryd/typo3-realurl/wiki/Notes-for-Integrators#configuring-languages

    Hier noch ein Link wie man das /de/ 'weglassen' kann.

  • 1