0

I redirect all requests like http://example.com or www.example.com to https://www.example.com as described in this Question:

How to redirect all HTTP requests to HTTPS

So all requests are redirected to https://www

This works only, if I don't need to redirect an url like http://www.example.com/page123

When I try this it is redirected to https://www.example.com/index.php?page=page123

So the rewrite rules for my page parameter doesn't work anymore, when I redirect to https://www

Here is how the .htacces:

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^/]+)/?$ index.php?page=$1 [L]
RewriteRule ^((?!index\.php)[^/]+)/([^/]+)/([0-9]{5}+)/([0-9]+)/([0-9]+)/?$ index.php?page=$1&keyword=$2&zip=$3&range=$4&offset=$5 [L,B]
RewriteRule ^((?!index\.php)[^/]+)/([^/]+)/([0-9]{5}+)/([0-9]+)/([0-9]+)/([A-Za-z0-9]+)/?$ index.php?page=$1&keyword=$2&zip=$3&range=$4&offset=$5&action=$6 [L,B]

RewriteRule ^auftraege-finden/([0-9]+)/?$ auftraege-finden&offset=$1 [L,B]
RewriteRule ^auftraege-finden/([^/]+)/([0-9]+)/?$ auftraege-finden&keyword=$1&offset=$2 [L,B]
RewriteRule ^auftraege-finden/([0-9]{5}+)/([0-9]+)/([0-9]+)/?$ auftraege-finden&zip=$1&range=$2&offset=$3 [L,B]
RewriteRule ^auftraege-finden/([^/]+)/([0-9]+)/([A-Za-z0-9]+)/?$ auftraege-finden&keyword=$1&offset=$2&action=$3 [L,B]
RewriteRule ^auftraege-finden/([0-9]{5}+)/([0-9]+)/([0-9]+)/([A-Za-z0-9]+)/?$ auftraege-finden&zip=$1&range=$2&offset=$3&action=$4 [L,B]

RewriteRule ^dienstleister-finden/([0-9]+)/?$ dienstleister-finden&offset=$1 [L,B]
RewriteRule ^dienstleister-finden/([^/]+)/([0-9]+)/?$ dienstleister-finden&keyword=$1&offset=$2 [L,B]
RewriteRule ^dienstleister-finden/([0-9]{5}+)/([0-9]+)/([0-9]+)/?$ dienstleister-finden&zip=$1&range=$2&offset=$3 [L,B]
RewriteRule ^dienstleister-finden/([^/]+)/([0-9]+)/([A-Za-z0-9]+)/?$ dienstleister-finden&keyword=$1&offset=$2&action=$3 [L,B]
RewriteRule ^dienstleister-finden/([0-9]{5}+)/([0-9]+)/([0-9]+)/([A-Za-z0-9]+)/?$ dienstleister-finden&zip=$1&range=$2&offset=$3&action=$4 [L,B]

RewriteRule ^auftrag/([^/]+)/([0-9]+)/?$ auftrag&ctitle=${unesc:$1}&cid=$2 [L,B]
RewriteRule ^dienstleister/([^/]+)/([0-9]+)/?$ dienstleister&ptitle=${unesc:$1}&pid=$2 [L,B]

RewriteRule ^neu-registrieren/([^/]+)/?$ neu-registrieren&cconf=$1 [L,B]
RewriteRule ^anmelden/([^/]+)/?$ anmelden&cconf=$1 [L,B]

RewriteRule ^app-erstellen-lassen/([^/]+)/?$ app-erstellen-lassen&action=$1 [L,B]

ErrorDocument 404 /404


# Redirect to https://www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

(...)
Community
  • 1
  • 1
user_name
  • 129
  • 7
  • 1
    Try moving `# Redirect to https://www` block to the top of the file, put it just below the `RewriteEngine on` – Dusan Bajic Aug 29 '16 at 09:08
  • I already tried this before asking my question, now I tried again to be sure and it works. Maybe the browser cache prevented me from finding out the right solution. Thanks for your answer. – user_name Aug 29 '16 at 10:35

0 Answers0