ÇáÊÍæíá ÇáÇãä ááÑæÇÈØ http to https 301 redirect

Ï


ãÇ åæ htaccess file
ßá ãÇ Úáíß ÈÚÏ æÖÚ ÇáÇßæÇÏ åæ ÝÊÍ ÇáãæÞÚ æÇáÊÃßÏ Çäå íÚãá æÇäå ÈÏæä Çì ÚØá ¡æÇÐÇ ÇßÊÔÝÊ ÚØá Ýì ÇáãæÞÚ ÊÓÊØíÚ ÈÓåæáÉ ÇáÑÌæÚ Úä ÇáÇßæÇÏ ÇáÊì ÊÓÈÈÊ Ýì ÇáÚØá æÑÝÚ ÇáãáÝ ãÑÉ ÇÎÑì æÓæÝ ÊÌÏ ÇáãÔßáÉ ÊáÇÔÊ.

ßíÝ ÊÞæã ÈÊÍæíá ÕÝÍÉ Çæ ÕÝÍÇÊ ÈÃÓÊÎÏÇã ÊÍæíá 301 Ýì ãæÞÚß ¿
ÚäÏãÇ ÊæÌÏ ÕÝÍÉ Çæ ÇßËÑ Ýì ãæÞÚß ÊÍÊá ÊÑÊíÈ ÚÇáì Ýì ÌæÌá¡ æÞãÊ ÈÚãá Óíæ æ ÊÓæíÞ ÇáßÊÑæäì áåÇ ¡ æáßä áÓÈÈ ãÇ ÊÑÛÈ Ýì ÇÒÇáÊåÇ Çæ ÊÛííÑ ÚäæÇä ÇáÑÇÈØ áåÇ æÊÑÛÈ Ýì äÝÓ ÇáæÞÊ Ýì ÚÏã ÎÓÇÑÊåÇ Çæ ÎÓÇÑÉ ÊÑÊíÈåÇ ÇáãÊÞÏã Ýì äÊÇÆÌ 301 Redirect ãÍÑßÇÊ ÇáÈÍË ¡ íãßäß ÇáÍÝÇÙ ÚáíåÇ æÚÏã ÎÓÇÑÊåÇ ÈÃÓÊÎÏÇã ÇáÊÍæíá ÇáÇãä áÌæÌá.

ãÇåæ ÇáÊÍæíá 301 Çæ ÇáÊÍæíá ÇáÇãä áÌæÌá ¿
ÇáÊÍæíá 301 åæ ÇÝÖá æÓíáÉ ááÍÝÇÙ Úáì ÊÑÊíÈ ÇáÕÝÍÉ Çæ ÇáãæÞÚ Ýì ãÍÑßÇÊ ÇáÈÍË ÚäÏãÇ ÊÑíÏ äÞá ÇáÕÝÍÉ Çáì ÕÝÍÉ ÌÏíÏå Çæ äÞá ãæÞÚß Çáì ãæÞÚ ÌÏíÏ¡ Çæ ÇÐÇ ßäÊ ÊÑíÏ ÊÛííÑ ÊÕãíã ãæÞÚß Ïæä ÎÓÇÑÉ ÊÑÊíÈß Ýì ãÍÑßÇÊ ÇáÈÍË¡ æÖíÇÚ ßá ãÌåæÏß ÇáÐì ÈÐáÊß Ýì ÇÔåÇÑ ÇáãæÞÚ.

ãáÝ htaccess.
ÚäÏãÇ íÞæã ÇáäÇÓ Çæ ÚäÇßÈ ãÍÑßÇÊ ÇáÈÍË ÈÇáÏÎæá Çáì ÕÝÍÉ ãÇ ãä ÕÝÍÇÊ ãæÞÚß ¡ íÞæã ÓíÑÝÑ ãæÞÚß ÈÇáÊÝÊíÔ Ýì åÐÇ ÇáãáÝ áãÚÑÝÉ ÇÐÇ ßÇäÊ åäÇß Çì ÊÍæíáÇÊ ááÕÝÍÉ Çæ ÇáãæÞÚ Çã áÇ¡ åÐå ÇáÚãáíå áÇ ÊÃÎÐ Çì æÞÊ ¡ ÊÍÏË ÈÓÑÚå ÝÇÆÞå ÌÏÇ ÌÏÇ.

ßíÝ ÊÞæã ÈæÖæÚ ÇßæÇÏ ÇáÊÍæíá ÇáÇãä 301 ÈåÐÇ ÇáãáÝ ¿
ÇÐÇ ßÇä ãæÞÚß áÇ íæÌÏ Èå ãáÝ .htaccess
Þã ÈÝÊÍ ãáÝ äæÊ ÈÇÏ Úáì ÌåÇÒß ÇáÖÎÕì æÞã ÈÊÓãíÊÉ .htaccess
åÐÇ ÇáãáÝ ÈÏæä Çì ÇãÊÏÇÏÇÊ æÇÐÇ ßÇä áÏíß åÐÇ ÇáãáÝ Þã ÈÊäÒíáÉ æÝÊÍÉ áÇÖÇÝÉ ÇßæÇÏ 301 ÈÏÇÎáÉ.



ÝßÑÉ ÇáÚãá :

ÖÚ ÏÇÎá htacess. ÇáßæÏ

This is my preferred code. At least unil now
]
ßæÏ:
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
</IfModule>
ÇßæÇÏ ÇÎÑì ÊÚãá äÝÓ ÇáÚãá

I also found a lot of other ways to redirect from HTTP to HTTPS. For example:
1.
ßæÏ:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Missing one step? And no [R=301,L] here?

2.
ßæÏ:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
3.
ßæÏ:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L,NE]

ÇáÇßæÇÏ ÊæÖÚ ÏÇÎá .htacess Ýì ÇáãÌáÏ ÇáÑÆíÓì áßá ÓßÑíÈÊ