PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, March 17, 2022

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

 March 17, 2022     apache, https, mamp, ssl     No comments   

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
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

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

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing