---
title: "htaccess / RealURL und Sprachen"
url: "https://www.typo3.net/d/91449-htaccess-realurl-und-sprachen"
source: "typo3.net"
tags: ["Allgemein","Frage","RealURL","Weiterleitungen & 404"]
created: "2009-07-19"
last_reply: "2009-07-20"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# htaccess / RealURL und Sprachen

Allgemein · 3 Antworten · gestartet 2009-07-19

## Eröffnungsbeitrag

**neuz8** · 2009-07-19 · [Beitrag #1](https://www.typo3.net/d/91449-htaccess-realurl-und-sprachen/1)

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
<?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

```php
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
```

```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?

## Antworten

### [#2](https://www.typo3.net/d/91449-htaccess-realurl-und-sprachen/2) · neuz8 · 2009-07-19

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

### [#3](https://www.typo3.net/d/91449-htaccess-realurl-und-sprachen/3) · just2b · 2009-07-20

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...

### [#4](https://www.typo3.net/d/91449-htaccess-realurl-und-sprachen/4) · neuz8 · 2009-07-20

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!

---

Quelle: „htaccess / RealURL und Sprachen“, typo3.net, https://www.typo3.net/d/91449-htaccess-realurl-und-sprachen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
