Seite 1 von 1

Und wieder einmal .httaccess

Verfasst: 10.12.2010, 15:49
von devolo01
Hallo in die Runde.

Ich habe das folgende Problem, und zwar muss ich einige urls Umleiten auf der Selben Domain.

Die Situation ist folgende:

Code: Alles auswählen

//Alte url 
http://domain.de/ordner/test.html
//Diese soll nach 
http://domain.de/ordner/test2.html
//Umgeleitet werden
Leider Funktioniert es nicht wirklich. Meine aktuelle httaccess Sieht wie folgt aus. Das Fett Hinterlegte ist mein Redirect.


Code: Alles auswählen


#Options +FollowSymlinks
RewriteEngine On
RewriteBase /

# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]

# Rewrite domain.com -> www.domain.com -- used with SEO Strict URLs plugin
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.fernstudium-fernschulen\.de [NC]
RewriteRule (.*) http://www.fernstudium-fernschulen.de/$1 [R=301,L]

# Exclude /assets and /manager directories and images from rewrite rules
RewriteRule ^(manager|assets)/*$ - [L]
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

[b]#Datei Umleiten
RedirectPermanent /alterOrdner/datei.html http://domain.de/alterOrdner/neuedatei.html[/b]

Hoffe mir kann evtl. jemand sagen wo hier mein Fehler liegt.

VG und Dank[/quote]

Verfasst:
von

Re: Und wieder einmal .httaccess

Verfasst: 23.12.2010, 13:05
von Malte Landwehr
Versuch es mal mit dieser htaccess:

Code: Alles auswählen

# Was du suchst und hier bisher gar nicht auftauchte
Redirect 301 /ordner/test.html http://www.domain.de/ordner/test2.html

#Datei Umleiten
RedirectPermanent /alterOrdner/datei.html http://www.domain.de/alterOrdner/neuedatei.htm

#Options +FollowSymlinks
RewriteEngine On
RewriteBase /

# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]

# Rewrite domain.com -> www.domain.com -- used with SEO Strict URLs plugin
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.fernstudium-fernschulen\.de [NC]
RewriteRule (.*) http://www.fernstudium-fernschulen.de/$1 [R=301,L]

# Exclude /assets and /manager directories and images from rewrite rules
RewriteRule ^(manager|assets)/*$ - [L]
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Du musst deine Redirects vor die folgende Regel packen, da die sonst alles schluckt und die darunter stehenden Regeln nicht mehr beachtet werden:

Code: Alles auswählen

# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Und um bei einem Link auf https://domain.de/ordner/test.html keine 301-Ketten zu erzeugen sollten manuelle Redirects auch immer vor der folgenden Regel stehen:

Code: Alles auswählen

# Rewrite domain.com -> www.domain.com -- used with SEO Strict URLs plugin
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.fernstudium-fernschulen\.de [NC]
RewriteRule (.*) http://www.fernstudium-fernschulen.de/$1 [R=301,L] 
Andernfalls leistest du https://domain.de/ordner/test.html auf https://www.domain.de/ordner/test.html und das dann auf https://www.domain.de/ordner/test2.html. Schöner ist es, wenn https://domain.de/ordner/test.html direkt auf https://www.domain.de/ordner/test2.html geleitet wird.