Seite 1 von 1

Weiterleitung ist nicht ganz ok

Verfasst: 30.12.2009, 16:25
von Jacobi
Hallo,

da später einmal Fremdsprachen geplant sind, möchte ich einige URLs, die im Google-Index ohne /de/ gelistet sind weiterleiten.

So z. B. folgende Seite www.meinedomain.eu/Kamin-Glas-Funkenschutz/ soll auf www.meinedomain.eu/de/Kamin-Glas-Funkenschutz/ weitergeleitet werden. Das klappt aber nicht ganz, wenn ich folgende Umleitungsregel in die .htaccess einsetze

Redirect permanent /Kamin-Glas-Funkenschutz https://www.meinedomain.eu/de/Kamin-Glas-Funkenschutz

kommt folgender URL zustande beim Klick auf den Google-Link:
https://www.meinedomain.eu/de/Kamin-Gla ... kenschutz/

Es wird hier "?q=Kamin-Glas-Funkenschutz/" angehängt, was aber nicht sein sollte? Wieso wird das angehängt und wie lautet die Umleitung richtig?

Gruß

Robert

Verfasst:
von

Verfasst: 30.12.2009, 17:20
von w3news
Ohne Gewähr, vielleicht so ohne den / am Ende:

Code: Alles auswählen

Redirect permanent /Kamin-Glas-Funkenschutz http://www.meinedomain.eu/de/Kamin-Glas-Funkenschutz

Verfasst: 30.12.2009, 17:59
von Jacobi
Das habe ich schon versucht, bringt nichts.

Hier ein Teil der .htaccess, eventuell liegt es daran (siehe vorletzte Zeile):
# Example:
#
#<Directory "/usr/local/apache/htdocs">
# AllowOverride Limit
#</Directory>
#
# 'All' with also work. (This configuration is in your
# apache/conf/httpd.conf file)www
#php_flag register_globals off
<IfModule mod_setenvif.c>
<IfDefine SSL>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</IfDefine>
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.meinedomain\.eu$
RewriteRule ^(.*)$ https://www.meinedomain.eu/$1 [L,R=301]

# if you use a 1&1 Webhosting set the RewriteBase
#RewriteBase /
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?q=$1&%{QUERY_STRING} [L]
</IfModule>

Verfasst: 04.01.2010, 19:16
von Jacobi
Hat denn hier keiner eine Antwort? Das das so dermaßen schwierig ist, hätte ich nicht gedacht.

Verfasst: 04.01.2010, 21:59
von Mork vom Ork
Jacobi hat geschrieben: RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?q=$1&%{QUERY_STRING} [L]
Redirect ist zwar der schlankere Weg für eine Weiterleitung und somit eigentlich zu bevorzugen, aber wenn mod_rewrite in denselben Pfaden rumfuhrwerkt, kommen die beiden sich in die Quere. Versuche es vor obigem Block mit Folgendem:

RewriteRule ^Kamin-Glas-Funkenschutz(.*) http://www.meinedomain.eu/de/Kamin-Glas-Funkenschutz$1 [R=301,L]

Verfasst: 05.01.2010, 09:52
von Jacobi
Jetzt funktioniert es, danke Mork vom Ork.