Thursday, March 17, 2022

[FIXED] Forward http to https on a folder in MAMP

Issue

So I have created an SSL key and a certificate for my website. I was able to forward every page of my website to HTTPS by using the following code in my httpd-vhosts.conf:

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

That works fine for every page, but I would like to be able to forward http to https only on my Account page. I tried this code in my https-vhosts.conf:

<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/Website/Account"
ServerName example.com
ServerAlias www.example.com/Account
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</VirtualHost>
# SSL Configuration
<VirtualHost *:443>
      DocumentRoot "/Applications/MAMP/htdocs/Website/Account"
      ServerName example.com
      ServerAlias www.example.com/Account
      SSLEngine on
      SSLCertificateFile /Applications/MAMP/conf/apache/server.crt
      SSLCertificateKeyFile /Applications/MAMP/conf/apache/server.key

</VirtualHost>

It does not redirect to https, it just stays the standard http. My Certificate is correct so that is not the problem.

Any help is greatly appreciated.

Thanks in advance!


Solution

Add a second condition to your rewriting, so that it only gets applied then that condition is true. This also allows you to extract the required part of the request:

# http Configuration
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteCond %{REQUEST_URI} ^/Account
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    DocumentRoot "/Applications/MAMP/htdocs/Website"
    <Directory /Applications/MAMP/htdocs/Website>
        [...]
    </Directory>
</VirtualHost>

# SSL Configuration
<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com
    SSLEngine on
    SSLCertificateFile /Applications/MAMP/conf/apache/server.crt
    SSLCertificateKeyFile /Applications/MAMP/conf/apache/server.key
    DocumentRoot "/Applications/MAMP/htdocs/Website"
    <Directory /Applications/MAMP/htdocs/Website>
        [...]
    </Directory>
</VirtualHost>


Answered By - arkascha

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.