ریدایرکت HTTP به HTTPS به صورت خودکار
۵ مرداد ۱۳۹۹
۰
10219

ریدایرکت HTTP به HTTPS به صورت خودکار : پس از تهیه و نصب SSL بر روی وب سایت در صورتی که در نظر دارید زمانی که وارد سایت خود می شوید به آدرس https ریدایرکت شود که البته پیشنهاد می گردد جهت بهینه شدن سایت حتما این مورد انجام شود،نیاز است طبق راهنمای ذیل عمل نمائید.
در صورتی که هاست شما لینوکسی می باشد کافی است این خط کد در فایل .httacess در روت اصلی سایت قرار دهید.
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
در صورتی که هاست شما ویندوزی می باشد،کافی است این خط کد را در فایل web.confg و در روت اصلی سایت قرار دهید.
<configuration> <system.webServer> <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
در صورتی که برای Subdomain و یا همان زیر دامنه باشد.از کد ذیل استفاده نمائید.
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
<add input="{HTTP_HOST}" pattern="(.+)\.Domainmame\.com" >
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
در صورتی که از زبان برنامه نویسی PHP در هاست ویندوزی استفاده می نمائید کد ذیل را در فایل index.php قرار دهید.
if (!(isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) { $redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $redirect); exit(); } ?>