Zum Inhalt springen

htaccess / RealURL und Sprachen

Erstellt am 19. Juli 2009 · 3 Antworten · letzte Antwort am 20. Juli 2009

Tags: RealURL, Weiterleitungen & 404, Frage

neuz8 ·

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:

<?php
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
	'preVars' => array(
		array(
			'GETvar' => 'L',
			'valueMap' => array(
				'de' => '0',
				'es' => '1',
				'en' => '2',
				'nl' => '3',
				'it' => '4',
				'fr' => '5',
				),
			'valueDefault' => 'de',
			# 'noMatch' => 'bypass',
			),
		),
'init' => array(
                        'enableCHashCache' => true,
                        'appendMissingSlash' => 'ifNotFile',
                        'adminJumpToBackend' => true,
                        'enableUrlDecodeCache' => true,
                        'enableUrlEncodeCache' => true,
                        'emptyUrlReturnValue' => '/',
                ),
'pagePath' => array(
'type' => 'user',
'userFunc' =>
'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
 
'expireDays' => 3,
'rootpage_id' => '130'
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 0,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
);

$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment';
?>

.htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/de/(.*)$
RewriteCond %{REQUEST_URI} !^/es/(.*)$
RewriteCond %{REQUEST_URI} !^/en/(.*)$
RewriteCond %{REQUEST_URI} !^/nl/(.*)$
RewriteCond %{REQUEST_URI} !^/it/(.*)$
RewriteCond %{REQUEST_URI} !^/fr/(.*)$
RewriteRule ^(.*)$ /de/ [L,R=301]

RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
config {
linkVars = L
}
# Default language, sys_language.uid = 0
page.10.template.file = fileadmin/templates_2009/template.html
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de

# English language, sys_language.uid = 2
[globalVar = GP:L = 2]
page.10.template.file = fileadmin/templates_2009/template.html
config.sys_language_uid = 2
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]
# French language, sys_language.uid = 5
[globalVar = GP:L = 5]
page.10.template.file = fileadmin/templates_2009/template.html
config.sys_language_uid = 5
config.language = fr
config.locale_all = fr_FR
config.htmlTag_langKey = fr
[global]
# Spain language, sys_language.uid = 1
[globalVar = GP:L = 1]
page.10.template.file = fileadmin/templates_2009/template_es.html
config.sys_language_uid = 1
config.language = es
config.locale_all = es_ES
config.htmlTag_langKey = es
[global]
# Italian language, sys_language.uid = 4
[globalVar = GP:L = 4]
page.10.template.file = fileadmin/templates_2009/template.html
config.sys_language_uid = 4
config.language = it
config.locale_all = it_IT
config.htmlTag_langKey = it
[global]
# Italian language, sys_language.uid = 3
[globalVar = GP:L = 3]
page.10.template.file = fileadmin/templates_2009/template.html
config.sys_language_uid = 3
config.language = nl
config.locale_all = nl_NL
config.htmlTag_langKey = nl
[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?

just2b ·

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 ·

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!