2017-04-02 3 views
0

entwickelte ich eine einfache und reine HTML-Seite mit diesen Seiten:.htaccess: entfernen HTML-Erweiterung, Kraft www und https

index.html 
page1.html 
page2.html 
etc 

Und ich möchte .htaccess konfigurieren:

-Force https 
-Force www 
-Remove .html extension (/page1.html -> /page1) 
-Redirect index.html ->/
-When someone types /page1.html to be redirected to /page1 (without html) or (if not possible) to 404 error page 

Wie konfiguriere ich meinen .htaccess?

Vielen Dank im Voraus

+0

Alle diese Fragen wurden hier auf SO hunderte, wenn nicht tausende Male beantwortet. Keine dieser Antworten hat dir geholfen, zu beginnen? Sagen Sie uns: Warum haben all diese Antworten Sie nicht weitergebracht und warum sollte eine zusätzliche Antwort einen Unterschied machen? – arkascha

+0

Ja, ich bin in der Lage, hier zu finden, wie https und www.But Ich kann nicht finden, wie kann ich "HTML" -Erweiterung entfernen, wenn einige Typen page.html im Browser. –

+0

Dann schlage ich vor, dass Sie mit diesen beiden Aspekten beginnen, dann veröffentlichen Sie die dynamische Konfigurationsdatei, die Sie bisher haben, und erklären Sie, warum Sie versuchen, das verbleibende Problem zu lösen, funktioniert nicht. Es gibt auch endlose Antworten dafür, also vorausgesetzt, du hast dich ein bisschen umgeschaut, muss dein Versuch ein Problem sein. Aber wir können nicht helfen, bevor Sie Ihren Code veröffentlichen, tut mir leid. – arkascha

Antwort

0

Um .html zu entfernen und https://www zu zwingen, können Sie die folgende Regel verwenden:

RewriteEngine on 
#force https+www 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ 
RewriteRule (.*) https://www.%1/$1 [NE,L,R] 
#Remove .html 
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC] 
RewriteRule^/%1 [L,R] 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*?)/?$ /$1.html [L] 

Leeren Sie Ihren Browser-Cache vor, diese Regeln zu testen.

+1

hat gut funktioniert! +1 und +1 Bier !! So glücklich! –

0
#OK we force https and www 
RewriteEngine On 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteRule ^(.*)$ https://www.exmple.com/$1 [L,R=301] 

# remove .html from uri 
RewriteRule ^([^\.]+)$ $1.html [NC,L] 

# remove trailing slashes 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# redirect index.html ->/
RewriteCond %{REQUEST_URI} \.html$ 
Redirect /index.html/

Alles scheint außer zu arbeiten, wenn ich example.com/page1.html eingeben. Es entfernt nicht html

Verwandte Themen