Avatar billede dotnewbi Juniormester
08. marts 2017 - 10:31 Der er 1 løsning

Redirects i .htacces

Hej Eksperter,

Jeg har et problem jeg skal have sat nogle overordnet redirect regler op i .htacces (det er et wordpress site) som sikre at
alle URLs er:
-uden www
-er på https
-ikke har en traling slash
-ikke indholder upper caps

og at alle disse regler kun ender ud i et enkelt redirect til udgaven af de enkelte sider som ser sådan her ud:

http://domæne.dk/something

selv om at det URL'en der bliver kaldt er som denne :
http://www.domæne.dk/Something/

Jeg har prøvet med disse regler men den i forhold til www og https virker kun på forsiden ?

og den i forhold til / og caps virker kun hvis man ikke er på https udgaven ?

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} [A-Z] [NC]
RewriteRule .${lc:%{REQUEST_URI}} [NC,N]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [N]

RewriteCond %{HTTP_HOST} ^www\. [OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NC,R=301]


Er der nogle der kan hjælpe ? der er også de her redirect regler i .htacces som wordpress selv sætter ind:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Avatar billede amite Mester
13. marts 2017 - 12:50 #1
Dette burde virke ift. at lave om til HTTPS og fjerne "www"...

Rewriteengine on

# Hvis den kører HTTP, redirect til HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.domæne.dk$1 [L,R=301]

# Hvis den kommer på www, redirect til uden
RewriteCond %{HTTP_HOST} ^www.domæne.dk$
RewriteRule ^(.*) https://domæne.dk$1 [L,R=301]

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


Mht. at konvertere til lower case, er det mig bekendt ikke muligt uden et rewritemap, hvilket du sandsynligvis ikke har lov til at lave hvis du kører wordpress hosting "ude i byen". Ellers kan du læse om det i denne tråd:
http://stackoverflow.com/questions/2923658/convert-to-lowercase-in-a-mod-rewrite-rule

Hvis det er fordi den gerne vil køre ren HTTPS, kan jeg også anbefale at du ser nærmere på at smide følgende aller øverst i din htaccess fil:

Header set Strict-Transport-Security "max-age=31536000"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester