Monday 25 December 2017 ساعت 10:39 AM
رفع مشکل ایندکس شدن مطالب با Https در وردپرس برای رفع این مشکل باید کار های زیر رو انجام دهید:
سلام دوستان در این آموزش می خواهم راه حل یک مشکلی عجیبی که خودم هم چند وقتی روی سایتم داشتم را به شما آموزش بدهم.
خیلی از دوستان در بخش ایندکس شد مطالب سایت خود مشکل دارند!
اما این مشکل چیست و چگونه رفع میشود٬ با آریاهوم همراه باشید تا در مورد این موضوع با هم گفت گو کنیم.
خوب مشکل از اونجایی شروع میشود که سایت شما هنگامی که پست میزارید٬ پست های شما با پروتکل Https ایندکس میشود٬ اما نقطه این مشکل کجاست !
مشکل اینجاست که ما Https رو فعال نداریم ! یا بهتره بگیم Https رو نصب یا بارگذاری نکردیم که سایت ما با پروتکل امن Https بارگذاری شود. اما پست های گذاشته شده توسط ما با Https ایندکس میشود .
تصویر زیر رو ببینید مطالب به این شکل ایندکس میشوند . این مشکل برای سایت دانلود آهنگ جدید خودم پیش آمده بود
ابتدا برای شما توضیح بدیم که پروتکل HTTPS چیست؟همان طور که می دانیم، اطلاعاتی که به طور معمول در صفحات وب رد و بدل می شوند در بستر پروتکل HTTP (مخفف Hyper Text Transfer Protocol) انتقال می یابند، این پروتکل استانداردی تعریف شده است که با آن متن ساده (Plain Text) را منتقل می کنند که این داده ها به دلیل خام بودن و رمزنگاری نشدن، برای افراد سوم شخص قابل خواندن هستند، به طور مثال اگر کلمه عبور خود را در بستر این پروتکل به سروری منتقل کنید، ممکن است از طریق سرویس دهنده اینترنت یا اشخاص دیگر قابل روئیت باشد (به فرض با استفاده از برنامه هایی تحت عنوان Sniffer)، لذا استفاده از پروتکل HTTP از لحاظ امنیتی برای انجام کارهایی که با اطلاعات حساس از جمله حسابهای بانکی و رمزهای مشتریان سر و کار دارند به هیچ وجه شیوه مناسبی نیست، از این رو بانک ها، فروشگاههای اینترنتی و در کل سایتهایی که امنیت کاربران برایشان اهمیت زیادی دارد، از پروتکل دیگری به نام HTTPS (مخفف Hyper Text Transfer Protocol Secure) جهت انتقال داده های رمزنگاری شده به شیوه SSL (مخفف Secure Sockets Layer) استفاده می کنند.
پروتکل HTTPS چیست و چه فرقی با HTTP دارد؟HTTPS پروتکلی است که در بستر آن امکان رمزنگاری (Encrypt) و انتقال اطلاعات رمزنگاری شده فراهم می شود، به لحاظ تخصصی در HTTP در حالت پیش فرض پورت ۸۰ مورد استفاده قرار می گیرد، در حالی که در HTTPS این پورت ۴۴۳ است، از طرفی همانطور که گفتیم در HTTP داده ها به صورت متن ساده یا Plain Text هستند اما در HTTPS رمزنگاری داده ها به وسیله SSL انجام می شود.
- وارد هاست سایت مورد نظر خود شوید بر روی File Manager کلیک کنید و در پوشه public_html/domain.com فایل .htaccess را فرخوانی کنید
- سپس دنبال کد زیر بگردید.
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
بعد کد بالا را با کد زیر جایگزین کنید
RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
- صفحه رو ذخیره کنید و ببنید. ( حالا سایت خود با Https باز کنید٬ مشاهده میکنید که سایت شما ریدایرکت شده و با Http بارگذاری میشود)
با این کار تمامی مطالب سایت شما که با Https ایندکس شدن با ریدایرکت ۳۰۱ به Http انتقال پیدا میکنن و تمام ایندکس های شما به حالت (ایندکس با Http) جایگزین میشود.
به نکات زیر توجه کنید :ایندکس های شما ممکن است مدت زیادی در پروسه دو هفته ای طول بکشد تا به روال عادی (Http) برگردد پس عجله نکنید.
منبع : آریاهوم
منبع : آریاهوم