2017-01-25 2 views
1

Ich habe eine harte Zeit versucht, die .html für unsere neu aktualisierte Website durch. Htaccess. Ich habe versucht, eine Reihe von verschiedenen Codezeilen aus dem Internet zu kopieren und einzufügen, aber ich bin mir sicher, dass es etwas Einfaches ist, dass ich einfach nicht die Erfahrung habe zu sehen!Drop die .html von URL in .htaccess

Kurz gesagt, möchte ich diesen Antrag stellen (das ist eine 404) fallen die .html:

http://mysite/cmt-grooving-sblade.html

Um dies:

http://mysite/cmt-grooving-sblade

Jede Hilfe könnten Sie geben werde ich dir sehr dankbar sein!

Bis jetzt sieht meine .htaccess so aus. Der erste Abschnitt war schon da, der Rest ist mein neuer Versuch.

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 


RewriteCond %{REQUEST_URI} \.html$ 
RewriteRule ^(.*)\.html$ $1 [R=301,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 
+4

Mögliche Duplikate von [Wie .html von URL entfernen] (http://StackOverflow.com/questions/5730092/How-to-remove-html-from-url) – ppasler

Antwort

0

Versuchen Sie dies;

RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 

RewriteCond %{HTTP:Authorization} ^(.*) 
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] 
+0

Vielen Dank für die Antwort. Wird dadurch die .html entfernt? In meinem .htaccess funktioniert der erste Teil des Codes (soweit ich weiß), aber es ist die .html, die mich eingelegte. – Darran

1

können Sie diese verwenden .html von URLs zu entfernen:

RewriteEngine on 

RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC] 
RewriteRule^/%1 [NC,L,R] 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule^%{REQUEST_URI}.html [NC,L] 

Es wird Sie mit Ihrem gewünschten URL verlassen: http://mysite/cmt-grooving-sblade. Stellen Sie sicher, dass Sie Ihren Cache löschen, bevor Sie dies testen.

+0

Dies sollte funktionieren. +1 – starkeen

+0

Vielen Dank für die Hilfe, aber leider scheint das nicht zu funktionieren. Ich vermute, ich könnte es an den falschen Ort bringen. In meinem .htaccess, habe ich diese unten eingefügt, direkt unter dem anderen Code (den ich zögere zu berühren, als es dort war, bevor ich anfing, damit herumspielen!) Ich versuchte es mit und ohne das Neuschreiben Motor, wie ich es sehe, ist mit dem Code darüber gestartet, und ich habe die ganz am Ende. Du wirst mich mit einem Hammer schlagen, denn ich bin mir sicher, dass es mein Fehler ist! – Darran

+0

Ich sollte vielleicht klären. Die Webseite zeigt im Moment keine .html auf irgendwelchen URLs, aber die alte hat es getan. Ich habe 404 von Google, die nach den .html-Links suchen, was ich tun möchte, ist alle HTML-Anfragen zu leiten, um die .html-Datei zu löschen, die auf der richtigen Seite landet. Vielen Dank nochmal für die Hilfe bis jetzt. – Darran