امنیت و سئو وب سایت با htaccess - قسمت دوم
همانطور که در مقاله اول صحبت کردیم، htaccess یک فایل پیکربندی برای وب سایت هایی است که از سرور آپاچی استفاده می کنند. با استفاده از دستورات کلیدی فایل می توانید امنیت وب سایت خود را تا حد چشمگیری کنترل کنید. همینطور روی سئو وب سایت خود تاثیرگذار باشید. اگر قسمت اول را مطالعه نکردهاید، از طریق لینک زیر می توانید موارد اولیه و مهم در مورد فایل htaccess را مطالعه کنید.
برای آگاهی از خدمات پشتیبانی سایت مه ویژن روی لینک زیر کلیک کنید. |
قسمت اول مقاله «امنیت وب سایت با htaccess» را در اینجا بخوانید
در اینجا دستورات کلیدی و اساسی مربوط به سئو سایت و امنیت سایت را توضیح می دهیم. البته توصیه می کنیم برای سئو سایت حتما مقالات بخش بهینه سازی و سئو را مطالعه کنید.
یکی از مهم ترین دستوراتی که در سئو سایت هم تاثیر گذار است، بهینه کردن آدرس های سایت شماست.
با استفاده از mod_rewrite می توانید آدرس های وب سایت خود را برای موتور جستجوگر گوگل بهینه کنید.
mod_rewrite و سئو وب سایت
روش استفاده كردن از mod_rewrite :
ابتدا باید تابع mod_rewrite را فراخوانی کنید:
RewriteEngine on
توجه کنید که که htaccess به بزرگی و کوچکی حروف حساس است و بهتر است این خط کد را در ابتدای فایل استفاده کنید.
تغییر URL این اجازه را به شما می دهد تا آدرس دریافتی را با طبق الگوی تعریف شده به URL دیگری تبدیل کنید. طبق الگو های زیر می توانید آدرس های سایت خود را تغییر دهید.
برای تعیین مسیر ایجاد تغییرات از کد زیر استفاده میکنیم:
RewriteBase Direction_name
در کد بالا Direction_name نام دایرکتوری می باشد.
زمانی که می خواهیم شرط برای آدرس ها تعیین کنیم، از کد زیر استفاده می نماییم :
RewriteCond conditionRule
سپس باید الگویی برای ویرایش و تغییر آدرس های خود وارد کنیم.
RewriteRule regex_Rule
بجای regex_Rule باید قانون url rewriting را با regex تعربف شده بنویسیم که آموزش regex در سایت موجود است. برای مثال ما می خواهیم php. را از آدرس وب سایت حذف کنیم:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php
برای مثال در این حالت اگر وب سایت به صورت mahvision.com/index.php باز شود، حالا به صورت mahvision.com/index باز می شود.
حالا میخواهیم نوع نمایش پارامتر های get در آدرس بار را تغییر دهیم. برای مثال نوع نمایش
?cat=2&id=5 به cat/2/id/5 تغییر کند. برای این کار از کد زیر استفاده می کنیم:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^cat\/(\d+)\/id\/(\d+)$ index.php?cat=$1&id=$2
در این حالت اگر id یا page یک دایرکتوری نباشند آنها را به عنوان پارامتر به فایل index.php ارسال می کند. اگر می خواهید پارامترهای داینامیک ایجاد کنید، بهتر است از کد زیر استفاده کنید:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
امنیت سایت از جمله مواردی ست که شما بعنوان صاحب سایت باید اطلاعات پایه ای در این زمینه داشته باشید
باز شدن سایت با یا بدون WWW
یکی از مواردی که در سئو سایت اهمیت زیادی دارد و برای موتور جستجوگر گوگل نیز مهم است این است که سایت شما فقط با یک آدرس در دسترس باشد. بنابراین، باید همه ترافیک www را به سمت none-www هدایت کنید و یا بر عکس.
RewriteCond %{HTTP_HOST} ^mahvision.com [NC]
RewriteRule ^(.*)$ http://mahvision.com/$1 [L,R=301]
در این حالت آدرس های non-www به www ارجاع داده می شوند.
Cache Files
کش یعنی اینکه یه سری از فایلهای سایت شما که تغییراتی ندارند و یا در فواصل زمانی زیاد تغییر می کنند را در یک فضای امن در مرورگر کاربر دخیره کنیم. تا در دفعات بعدی که وب سایت شما را باز می کنند سرعت بارگیری وب سایت شما دو چندان شود.
#BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/j-avascript "access plus 1 year"
ExpiresByType application/j-avascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
</ifModule>
#END Expire headers
#BEGIN Cache-Control Headers
< ifModule mod_headers.c >
<filesMatch "\.(ico|jpe?g|png|gif|swf|woff|ttf) >"$
Header set Cache-Control "max-age=2592000, public "
/< filesMatch >
< filesMatch "\.(css) >"$
Header set Cache-Control "max-age=2592000, public "
/< filesMatch >
< filesMatch "\.(js) >"$
Header set Cache-Control "max-age=2592000, private "
/< filesMatch >
< filesMatch "\.(x?html?|php) >"$
Header set Cache-Control "max-age=600, private, must-revalidate "
/< filesMatch >
</ifModule>
#END Cache-Control Headers
#BEGIN Turn ETags Off
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
#END Turn ETags Off
#BEGIN Remove Last-Modified Header
<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
#END Remove Last-Modified Header
هاست سایت شما از جمله موارد تاثیرگذار بر امنیت سایت شماست.
غیرفعال كردن كش برای یکسری از فایل ها
برای غیر فعال کردن کش در برخی فولدرهای سایت هم می توانید از کدهای زیر استفاده کنید:
#explicitly disable caching for scripts and other dynamic files
<filesmatch>Header unset Cache-Control </filesmatch>
محدود کردن دسترسی به وب سایت از آی پی مشخص
اگر خواستید از ورود یک آی پی خاص به وبسایت خود جلوگیری کنید می توانید از کد زیر استفاده کنید.
RewriteCond %{REMOTE_ADDR} ^(A.B.C.D) $
RewriteRule ^/* http://mahvision.com/sorry [L]
به جای A B C D اجزای چهار گانه IP مورد نظر را وارد کنید و به جای http://mahvision.com/sorry آدرس مورد برای ارجاع این آی پی به این صفحه را وارد کنید. برای مثال این صفحه می تونه حاوی یک پیام هشدار باشد.
در مقاله های بعدی موارد بیشتری از کدهای کلیدی فایل htaccess را توضیح می دهیم.
امنیت سایت یکی از مواردی است که به صورت مستقیم و غیرمستقیم بر سئوی سایت اثر می گذارد