[support] http/s issues (still)
sander-martijn
lists at severeddreams.com
Sat Oct 6 19:05:33 UTC 2007
After days of messing with this I finally figured it out. It seems I
needed to have the following lines in the rewrite in order for it to
work properly with the drupal rewrite already in place:
It now works so I wanted to post this for anyone else trying to get ssl
working on only certain sections of their sites. Including the drupal
rewrites already in .htaccess, my rewrites now look like this:
# REWRITE TO NONSSL UNLESS IT'S THE FORM, FORM EDIT/RESULTS PAGES
# OR SUPPORTING FILES
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_URI} !(contact/requestBook)
RewriteCond %{REQUEST_URI} !(node/387/*)
RewriteCond %{REQUEST_URI} !(.*css)
RewriteCond %{REQUEST_URI} !(.*js)
RewriteCond %{REQUEST_URI} !(.*gif)
RewriteCond %{REQUEST_URI} !(.*png)
RewriteCond %{REQUEST_URI} !(.*jpg)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://%{SERVER_NAME}/$1 [R=301,L]
# REWRITE TO SSL IF IT'S THIS FORM
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} contact/requestBook
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]
# DRUPAL REWRITE
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
.s
sander-martijn wrote:
> Hi guys,
>
> I'm still having an http to https and back issue with drupal, but I've
> narrowed it down to a single L and wondering if anyone has any
> suggestions now. The L stands for "Last Rule" - if it's there it
> behaves half correctly and if it's not there it behaves half correctly -
> in the opposite way.
>
> # REWRITE TO SSL if contact/requestBook
> # WORKS AS EXPECTED ON IT'S OWN
> RewriteCond %{SERVER_PORT} !^443$
> RewriteRule ^(contact/requestBook)$ https://%{SERVER_NAME}/$1 [R=301,L]
>
> # REWRITE TO NON-SSL if not contact/requestBook
> # also ignore if a supporting file or else the page will display a
> broken lock
> # IF [R=301,L] then any other page on https redirects to non-ssl fine
> but contact/requestBook redirects to non-ssl non-pretty url
> # http://s24863.gridserver.com/index.php?q=contact/requestBook
> # IF you remove the L so it's [R=301] then contact/requestBook
> redirects fine but other pages stay on https and report Page not found
> RewriteCond %{SERVER_PORT} ^443$
> RewriteCond %{REQUEST_URI} !(contact/requestBook)
> RewriteCond %{REQUEST_URI} !(.*css)
> RewriteCond %{REQUEST_URI} !(.*js)
> RewriteCond %{REQUEST_URI} !(.*jpg)
> RewriteCond %{REQUEST_URI} !(.*gif)
> RewriteCond %{REQUEST_URI} !(.*ico)
> RewriteCond %{REQUEST_URI} !(.*png)
> RewriteRule ^(.*)$ http://%{SERVER_NAME}/$1 [R=301]
> # Alternate: RewriteRule ^(.*)$ http://%{SERVER_NAME}/$1 [R=301,L]
>
> # DRUPAL REWRITE
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
>
>
> Thanks,
> sander
More information about the support
mailing list