Entfernen .html von URLs mit einem redirect
Haben wir eine website, leider alle URLs haben .html
suffix, Ihr eine Magento installation, Magento erlaubt es Ihnen, dies zu ändern, auf den CMS, aber leider wieder alle diese URLs mit .html
suffix haben ein gutes ranking in Google. Müssen wir umleiten, um nicht .html
.
So, Folgendes Szenario, wir bauen für Sie diese site von Grund auf neu, also haben wir den gleichen urls auf die neue Seite, aber ohne die .html-suffix.
- Ist jetzt:
www.example.de/cool-shoes.html
- Werden:
www.example.de/cool-shoes
So www.example.de/cool-shoes.html
nicht mehr existiert, und ich habe versucht ein redirect mit der .htaccess mit kein Glück.
Die ich bisher ausprobiert habe:
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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok so, nach einigen Recherchen, und nicht zu erreichen, das mit einer rewrite-Regel, die folgende Zeile von code gearbeitet:
Dies ist sehr nützlich, um entfernen Sie alle url-Erweiterung und vermeiden Sie defekte links, hoffentlich hilft jemand in der Zukunft...
prost!
.html
. Der erste Teil ist, was es ist matching: Jede url, die eine.html
. Die$1
ist das, was in der Klammer des Spiels: alles außer der.html
.$
zu gewährleisten.html
kommt am Ende der URL:redirectMatch 301 ^(.*)\.html$ $1
Dies umschreiben der url wie so http://example.com/page.html -> http://example.com/page
.html
nicht entfernen. Es erscheint auch eine rewrite-Regel, nicht eine redirect-Regel. Es müsste[R=301,L]
am Ende zu tun umleiten.Versuchen Sie, den folgenden die .htaccess-Datei im root-Verzeichnis Ihrer Website redirect-URLs mit .html-Erweiterung, und entfernen Sie es.
Hier ist die Lösung, die für mich gearbeitet.
.html
aber Sie wollen nicht.html
erscheint in der URLs..html
aus der URL, aber dennoch lädt die gewünschte Datei aus. Dank Patrick!Folgen Sie den Schritte, und Sie werden in der Lage sein, zu entfernen .html von der url ohne änderung .htaccess-Datei.
Dies sollte den trick tun:
[R=301,L]
erzählt, dass mod rewrite umleiten, anstatt neu zu schreiben.RewriteRule ^(\w+)\.html$ /$1 [R=301,L]
funktionieren sollte.Versuchen, diese zu setzen in der .htaccess-Datei
Redirect permanent http://www.mysite.de/cool-shoes.html
http://www.mysite.de/cool-shoes
dies kann hilfreich sein, um Sie
Dies ist für URLs endet mit .html /product/raspberrypi.html ---> /Produkt/raspberrypi/(/product/raspberrypi/index.php) die index.php ausgeblendet ist. Brauchte eine Weile, um dies herauszufinden. LOL...
Müssen Sie verwenden 'REQUEST_URI' und fügen Sie es vor dem index-redirect-Regeln, da könnte es von der Applikation überschrieben werden. Es ist wichtig zu wissen, dass Ihre URI nicht einen Dateinamen oder ein Verzeichnis, die wir versuchen, redirect, da die Dateinamen alle haben index.php in den root-Ordner(WordPress).