Wir haben eine Website, leider haben alle URLs die .html
Suffix, es ist eine Magento Installation, Magento erlaubt es Ihnen, dies auf dem CMS zu ändern, aber leider wieder all diese URLs mit .html
Suffix habe ein gutes Ranking in Google. Wir müssen zu non .html
umleiten.Entfernen von .html von URLs mit einer Umleitung
Betrachten wir das folgende Szenario, wir bauen diese Site von Grund auf neu auf, also haben wir dieselben URLs auf der neuen Site, aber ohne das Suffix .html.
- Jetzt ist:
www.example.de/cool-shoes.html
- Wird:
www.example.de/cool-shoes
So www.example.de/cool-shoes.html
wird nicht mehr existieren, und ich habe mit dem .htaccess ohne Glück eine Umleitung versucht.
Ich habe bisher versucht:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule (.*)index\.html$ /$1 [R=301,L]
und:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
, aber es scheint nicht zu funktionieren ... irgendwelche Ideen?
hallo, nur um meine Zweifel zu klären, was macht diese Regel? es ist nicht so, dass der erste Parameter der Ausdruck ist, den Sie von der Anfrage erhalten und der zweite der, den Sie an Apache senden werden? sie sollten geschaltet werden ->^(. *) $ 1.html – alexserver
Diese Regel entfernt die '.html'. Der erste Teil ist, was es zusammenpasst: Jede URL, die eine '.html' hat. Die "$ 1" steht in der Klammer der Übereinstimmung: alles außer der '.html'. –
Ich würde ein '$' hinzufügen, um sicherzustellen, dass die '.html' am Ende der URL steht:' redirectMatch 301^(. *) \. Html $ $ 1' –