آموزش کدهای وردپرس, آموزش وردپرس, امنیت وردپرس

فایل htaccess وردپرس چیست؟ و چه کاری با آن می توان انجام داد!

فایل htaccess. چیست؟

فایل .htaccess وردپرس چیست؟ اگر این سؤال ذهن شما را مشغول کرده، در حال حاضر در مسیر صحیح هستید تا یک توسعه دهنده وردپرس عالی شوید، زیرا دانستن کارهایی که هر پرونده در وردپرس انجام می دهد مهم است و اگر تجزیه کنید و بفهمید که هر فایل در ساختار  وردپرس چه کاری انجام می دهد، هضم همه چیز آسان می شود.

فایل htaccess.

فایل .htaccess چیست؟

فایل وردپرس .htaccess یکی از فایلهای اصلی است که می تواند برای بهینه سازی سرعت وب سایت ، بهبود امنیت آن و همچنین تنظیم قوانین تغییر مسیر خاص در وب سایت وردپرس شما استفاده شود.

هدف اصلی .htaccess تعریف قوانینی برای سرورهای وب (Apache) در مورد نحوه عملکرد وب سایت شما (وردپرس) است. پرونده پیش فرض وردپرس .htaccess چگونگی نمایش لینک ها (پیوندهای یکتا) در سایت وردپرس شما را کنترل می کند، اما کارهای بیشتری در رابطه با پرونده htaccess در وردپرس وجود دارد.

قبل از شروع

ویرایش فایل های وردپرس بدون تهیه نسخه پشتیبان، هرگز ایده خوبی نیست. از این رو ، پیشنهاد می کنم قبل از ویرایش پرونده .htaccess یکی از روش های زیر را به کار ببرید:

  • تهیه نسخه پشتیبان از وب سایت – شما باید از سایت خود یک نسخه پشتیبان تهیه کنید تا در صورت هر گونه مشکل سایت خود را برگردانید.
  • راه اندازی سایت در لوکال هاست – شما می توانید از سایت خود کپی بگیرید و آن را بر روی کامپیوتر خود نصب کنید و در آنجا تغییرات خود را انجام دهید و در صورتی که هیچ مشکلی نداشت بیاید و در سایت اصلی هم اعمال کنید.
  • پشتیبان گیری از فایل .htaccess – خیلی راحت فایل .htaccess را انتخاب کنید و آن را دانلود کنید تا در صورت هر گونه ویرایش اشتباه یا به وجود آمدن مشکل، آن را به سایت خود برگردانید.

نحوه دسترسی به فایل .htaccess

دو سؤال اول که مبتدیان وردپرس می پرسند “فایل htaccess در وردپرس كجاست؟” و “چگونه به پرونده htaccess دسترسی پیدا کنیم؟” خوب ، می توانید فایل htaccess را در روت اصلی سایت (public_html) وب سایت وردپرس خود پیدا کنید.

اگر نمی توانید فایل htaccess را در فهرست روت اصلی سایت وردپرس خود پیدا کنید، .htaccess به صورت پیش فرض جزو فایل های مخفی شده است و به همین خاطر با “.” شروع می شود. و یا ممکن است فایل .htaccess به صورت پیشفرض در سایت شما وجود نداشته باشد.

نحوه نمایش فایل های مخفی در وردپرس

وقتی وارد هاست خود و سپس روت اصلی سایت شدید در بالا ابتدا بر روی Settings کلیک کنید و سپس تیک گزینه ” Show Hidden Files (dotfiles) “ را فعال کنید و بر روی Save کلیک کنید.

نمایش فایل های مخفی در وردپرس

اگر بعد از نمایش فایل های مخفی وردپرس هم فایل htaccess را پیدا نکردید، برای تولید یک فایل جدید به پیشخوان وردپرس » تنظیمات » پیوند های یکتا بروید و بر روی ذخیره تنظیمات کلیک کنید. اینگونه فایل htaccess بازسازی می شود.

بازسازی فایل htaccess.

خب حالا به راحتی می توانید فایل htaccess را مشاهده کنید و آن را در حالت ویرایش قرار دهید.

با فایل .htaccess وردپرس چه کاری می توانید انجام دهید؟

اکنون که می دانید چگونه می توانید به پرونده htaccess دسترسی داشته باشید، وقت آن است که یک شیرجه بلند بزنید و تغییرات را در فایل htaccess وردپرس تعریف کنید. من این تغییرات را به سه دسته تقسیم می کنم:

  • قوانین تغییر مسیر (ریدایرکت)
  • بهبود سرعت وردپرس
  • ایمن سازی وردپرس

راه اندازی ریدایرکت ها

ابتدا، بیایید رایج ترین قوانین تغییر مسیر را که می توانید در وب سایت وردپرس خود پیاده سازی کنید، پوشش دهیم.

توجه: قوانین ریدایرکت فقط برای آشنایی شماست و فقط اگر به آنها نیاز داشتید در سایت خود استفاده کنید!

تغییر مسیر 301 (دائمی)

قانون تغییر مسیر 301 به مرورگر بازدیدكننده و رباتهای موتور جستجو می گوید كه یك آدرس خاص به طور دائم به آدرس دیگری منتقل شده است.

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html

تغییر مسیر 302 (موقت)

اگر روی آدرس اصلی کار می کنید و می خواهید برای مدتی بازدید کنندگان را به طور موقت به صفحه دیگری هدایت کنید ، ممکن است لازم باشد از یک قانون تغییر مسیر 302 استفاده کنید.

Redirect 302 /oldpage.html http://www.yourwebsite.com/newpage.html

استفاده از www

اگر می خواهید آدرس شما همیشه با www شروع شود، از کد زیر استفاده کنید که آدرس های شما را در کل سایت سازگار می کند:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

استفاده نکردن از www

همچنین اگر در حال حاضر شما از www در اول آدرس سایت خود استفاده می کنید و می خواهید آن را حذف کنید، از کد زیر استفاده کنید. (توصیه می شود)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

انتقال به HTTPs

اگر از یک گواهینامه SSL در وب سایت وردپرس خود استفاده می کنید، و می خواهید همه بازدید کنندگان و خزنده های موتور جستجو را به نسخه HTTP وب سایت خود هدایت کنند. از کد زیر استفاده کنید.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

اگر در حال حاضر از SSL در سایت خود استفاده نمی کنید پیشنهاد می کنیم حتما آموزش فعالسازی SSL را ببینید.

انتقال به HTTP

اما اگر در حال حاضر از HTTPs در سایت خود استفاده می کنید و می خواهید بنا به دلایلی از آن استفاده نکنید از کد زیر استفاده کنید: (توصیه نمی شود)

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} ^https$
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}</IfModule>

تغییر مسیر زیر دامنه به زیر دایرکتوری

با استفاده از کد زیر می توانید یک دامنه را به یک زیرشاخه هدایت کنید:

RewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{REQUEST_URI} !^/sub-directory-name/
RewriteRule (.*) /subdir/$1

هدایت دامنه اصلی به یک دامنه دیگر

اگر به عنوان مثال، دو یا چند نام دامنه دارید، مثلاً abc.com ، abc.net و abc.org و …، و می خواهید همه آنها به یک دامنه تغییر مسیر داده شوند، می توانید در دامنه های مورد نظر خود قوانین تغییر مسیر را اضافه کنید تا به دامنه اصلی ریدایرکت شوند.

Redirect 301 / https://www.abc.com/

کد بالا را در abc.net و abc.org اضافه کنید تا آنها را به سمت abc.com هدایت کنید.

حذف Query_String

آدرس های وب سایت شما هنگام افزودن یک رشته پرس و جو در پایان، همان محتوا را نمایش می دهند. به عنوان مثال myblog.com همچنین از طریق myblog.com/؟my=query قابل دسترسی است. اگر این رشته های جستجو توسط موتورهای جستجو خزیده شوند، این باعث می شود محتوای تکراری ایجاد شود.

و راه آسان برای خلاص شدن از شر این مشکل، تغییر مسیر و حذف رشته های پرس و جو با استفاده از این کد است:

RewriteCond %{THE_REQUEST} ^[A-Z]+ /.*\ HTTP
RewriteCond %{QUERY_STRING} !^$
RewriteRule .* https://www.mywebsite.com%{REQUEST_URI}? [R=301,L]

تنظیم متغیر زبان بر اساس کاربران سایت

برای وب سایت های چند زبانه وردپرس، بهترین راه برای هدایت بازدید کنندگان به زبان مورد نظر خود، تشخیص زبان مرورگر آنها و هدایت مجدد آنها با اضافه کردن کد زیر در فایل htaccess است:

RewriteCond %{HTTP:Accept-Language} ^.*(de|es|fr|it|ja|ru|en).*$ [NC]
RewriteRule ^(.*)$ - [env=prefer-language:%1]

توجه: بسیاری از افزونه های وردپرس چند زبانه به تنهایی این کار را انجام می دهند. در صورت نیاز می توانید مقاله بهترین افزونه چند زبانه کردن سایت را ببینید.

افزایش سرعت وردپرس با استفاده از فایل htaccess

بسیاری از قوانین کش وردپرس و … را می توان در فایل htaccess تنظیم کرد. این بدان معنی است که شما در واقع می توانید قوانینی را برای بهینه سازی سرعت وب سایت وردپرس خود اضافه کنید.

تنظیم سربرگ منقضی شده برای کش مرورگر

امروزه بسیاری از مرورگرها عناصر CSS ، JS ، HTML و برخی از فایلهای رسانه ای را مانند موارد دلخواه وب سایتهایی که اغلب بازدید می کنند به طور موقت کش می کنند. اگر این عناصر در سایت وردپرس شما مرتباً تغییر نمی کنند، می توانید با استفاده از کدهای زیر ، زمان انقضا آنها را افزایش دهید:

<IfModule mod_expires.c>
        ExpiresActive on
        ExpiresDefault                                    "access plus 1 month"
    # CSS
        ExpiresByType text/css                            "access plus 1 year"
    # Data interchange
        ExpiresByType application/json                    "access plus 0 seconds"
        ExpiresByType application/xml                     "access plus 0 seconds"
        ExpiresByType text/xml                            "access plus 0 seconds"
    # Favicon (cannot be renamed!)
        ExpiresByType image/x-icon                        "access plus 1 week"
    # HTML components (HTCs)
        ExpiresByType text/x-component                    "access plus 1 month"
    # HTML
        ExpiresByType text/html                           "access plus 0 seconds"
    # JavaScript
        ExpiresByType application/javascript              "access plus 1 year"
    # Manifest files
        ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
        ExpiresByType text/cache-manifest                 "access plus 0 seconds"
    # Media
        ExpiresByType audio/ogg                           "access plus 1 month"
        ExpiresByType image/gif                           "access plus 1 month"
        ExpiresByType image/jpeg                          "access plus 1 month"
        ExpiresByType image/png                           "access plus 1 month"
        ExpiresByType video/mp4                           "access plus 1 month"
        ExpiresByType video/ogg                           "access plus 1 month"
        ExpiresByType video/webm                          "access plus 1 month"
    # Web feeds
        ExpiresByType application/atom+xml                "access plus 1 hour"
        ExpiresByType application/rss+xml                 "access plus 1 hour"
    # Web fonts
        ExpiresByType application/font-woff2              "access plus 1 month"
        ExpiresByType application/font-woff               "access plus 1 month"
        ExpiresByType application/vnd.ms-fontobject       "access plus 1 month"
        ExpiresByType application/x-font-ttf              "access plus 1 month"
        ExpiresByType font/opentype                       "access plus 1 month"
        ExpiresByType image/svg+xml                       "access plus 1 month"

فعالسازی فشرده سازی Gzip

GZIP روشی فشرده سازی است که محبوبیت قابل توجهی کسب کرده و به روش فشرده سازی استاندارد برای بسیاری از افزونه های کش وردپرس تبدیل شده است. GZIP فایل ها را فشرده می کند و فایل های موقتی ایجاد می کند که در عوض مورد استفاده قرار می گیرد.

اگر می خواهید فشرده سازی GZIP را به صورت دستی در یک وب سایت وردپرس فعال کنید، کد زیر را به فایل htaccess خود اضافه کنید:

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml
  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

افزایش اندازه حداکثر آپلود در وردپرس با استفاده از فایل htaccess

این کار به شما امکان می دهد تا فایلهای بزرگتر را در وب سایت وردپرس خود بارگذاری کنید. به طور پیش فرض، وردپرس اجازه می دهد تا فایل هایی با حجم کم در سایت آپلود کنید، اگر می خواهید این حجم را افزایش دهید می توانید کد زیر را به فایل .htaccess اضافه کنید:

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

همچنین شما می توانید امنیت سایت وردپرس خود را با فایل htaccess افزایش دهید، برای اینکار می توانید آموزش افزایش امنیت وردپرس با htaccess  را ببینید.

خب به پایان این مقاله رسیدیم، امیدوارم که با فایل .htaccess وردپرس به صورت کامل آشنا شده باشید و به وسیله آن بتوانید قدمی در بهبود عملکرد سایت خود بردارید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *