Solved

htacces https

Posted on 2011-02-25
8
303 Views
Last Modified: 2012-05-11
I have near to no experience with .htacces but i need to do the following

I have a ssl certificate for the whole website. But i only want to have a few pages secured the ssl.

example

http://www.vekto.nl/user_login.php
change to
https://www.vekto.nl/user_login.php

Now this is a easy redirect but i want a if statement implemented.

Because if the page is anything other than user_login.php i want to switch back to http
0
Comment
Question by:ScottNL1
  • 3
  • 3
  • 2
8 Comments
 
LVL 2

Expert Comment

by:leftcase
ID: 34978490
I'm presuming that you have already set up SSL on your server? If not, it looks like you're running Windows Server 2003 and IIS 6 so you will want to use this guide: http://support.microsoft.com/kb/299875

In terms of enabling https for the login page only via your .htaccess, I'm not entirely sure that's possible. If you're using cookies to pass sessions between pages, I don't believe you can pass them from https to http pages (or vice-versa). This post explains better than I can: http://www.codingforums.com/showthread.php?t=128416

Perhaps your solution will be a little more complicated?
0
 
LVL 2

Expert Comment

by:leftcase
ID: 34978493
Sorry, just re-read the categories you posted your question in and noticed 'Apache'. I guess Netcraft is misreporting your site: http://uptime.netcraft.com/up/graph?site=www.vekto.nl
0
 
LVL 1

Author Comment

by:ScottNL1
ID: 34978538
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . friendly_url.php [L]
RewriteCond %{HTTP_HOST} ^vekto\.nl [NC]
RewriteRule ^(.*)$ http://www.vekto.nl/$1 [L,R=301]

</IfModule>

This is what is have now and it works.

I would like to add this, but not for a folder just for a page

RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} payment
RewriteRule ^(.*)$ https://www.vekto.nl/payment/$1 [R,L]

If the user is not on one of the pages, i want to have a rule that it switches back to http.

Not fully understanding the 2 posts because i can redirect in my htacces. Just don't want to redirect a root folder, but a page

0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 26

Expert Comment

by:arober11
ID: 34992435
Just alter the port and negate the URL match e.g.
RewriteCond %{SERVER_PORT} 443
RewriteCond %{REQUEST_URI} ! (payment|login|somethingElse)                           [NC]
RewriteRule .*                            http://www.vekto.nl/payment%{REQUEST_URI}  [R,L]

Open in new window

0
 
LVL 26

Expert Comment

by:arober11
ID: 34992437
Typo:
RewriteCond %{SERVER_PORT} 443
RewriteCond %{REQUEST_URI} ! (payment|login|somethingElse)                           [NC]
RewriteRule .*                            http://www.vekto.nl%{REQUEST_URI}  [R,L]

Open in new window

0
 
LVL 1

Author Comment

by:ScottNL1
ID: 34995013
Thanks arober11

I tried it but didn't work for me

RewriteCond %{SERVER_PORT} 443
RewriteCond %{REQUEST_URI} ! (user_login|user_home|user_profile|user_orders|order_info) [NC]
RewriteRule .* http://www.vekto.nl%{REQUEST_URI}  [R,L]

When i type

https://www.vekto.nl/user_login.php it redirects to http


0
 
LVL 1

Author Comment

by:ScottNL1
ID: 35007189
any body have any ideas?
0
 
LVL 26

Accepted Solution

by:
arober11 earned 500 total points
ID: 35071811
Hi, next step is to add a temporary log file to the config, restart apache, surf for a few min's, then have a look at the log e.g.

{code}
RewriteLog  /temp/tmp-rewritelog
RewriteLogLevel 9
RewriteCond %{SERVER_PORT} 443
RewriteCond %{REQUEST_URI} !(user_login|user_home|user_profile|user_orders|order_info) [NC]
RewriteRule .*                             http://www.vekto.nl%{REQUEST_URI}  [R=301,L]
{code}
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you've heard about htaccess and it sounds like it does what you want, but you're not sure how it works... well, you're in the right place. Read on. Some Basics #1. It's a file and its filename is .htaccess (yes, with a dot in the front). #…
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question