301 Leite alle Seiten um und poste URLs von .html nach /

Ich habe eine aktuelle Seite, auf der alle URLs mit .html enden.

Ich habe eine neue Site erstellt und die URLs sind fast identisch, aber ohne .html .

Ich habe Codes versucht, die hier in meiner .htaccess Datei gefunden werden und die meisten scheinen internen Servererrors zu verursachen.

 http://example.com/page1.html to http://example.com/page1/ http://example.com/page1/page2.html to http://example.com/page1/page2/ 

Mein aktueller .htaccess Dateicode ist:

 # BEGIN WordPress  RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]  # END WordPress 

Solutions Collecting From Web of "301 Leite alle Seiten um und poste URLs von .html nach /"

Wenn Sie einen internen Servererrors (Code 500) erhalten, sollten Sie das Fehlerprotokoll Ihres Servers auf die Besonderheiten des Fehlers überprüfen. Wenn Sie mit mod_rewrite in .htaccess haben, könnte das alles von einem grundlegenden Syntaxerrors bis zu einer Rewrite-Schleife sein.

Wenn Sie keine .html Dateien auf Ihrer neuen Website haben, können Sie eine bedingungslose Weiterleitung erteilen, um die .html am Ende der URL zu entfernen. Beispielsweise:

 RewriteRule (.*)\.html$ /$1 [R=301,L] 

Dies müsste vor den bestehenden WordPress-statementen gehen.

Oder wenn Sie einige .html Dateien haben, die .html werden müssen, leiten Sie nur Anforderungen um, die keiner vorhandenen Datei zugeordnet sind. Beispielsweise:

 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*)\.html$ /$1 [R=301,L] 

Sie müssen Ihren Browser-Cache vor dem Testen löschen.