View Full Version : htaccess rewriterule HTTP work fine HTTPS is the problem

04-26-2011, 11:13 AM

I have the below rewrite rule

RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=$1

When I go to: http://www.mydomain.co/ABC
It works fine

When I go to: https://www.mydomain.co/ABC

It redirects to: http://www.mydomain.co/ABC?username=ABC
I am not wanting ?username=ABC when being redirected for HTTPS

I am wanting to make access to this via HTTP only.
I have tried to add ? in places to strip but that didn't work and broke it

Any help please

04-26-2011, 12:03 PM
Ok how does this look, it seems to work, just a bit worried about the NC on the last RewriteRule. As I have been told NC can create opportunities for duplicate content

RewriteCond %{THE_REQUEST} ^[a-zA-Z0-9_-]+\ /profile\.php\?username=([^&]+)\ HTTP/
RewriteRule ^profile\.php$ http://www.mydomain.co/%1? [R=301,L]
RewriteRule ^([a-z0-9_]+)/?$ profile.php?username=$1 [NC,L]

The idea is http://www.mydomain.co/ABC is normal URL, but if anyone tries https://www.mydomain.co/ABC they redirected back to http