.htaccess یک فایل مخفی که می تواند در هر فولدری باشد که عملیات های سرور مروط به آن فولرد و زیر شاخه هایش را تنظیم میکند ، مثلا میتوانید دسترسی یه سری فایل ها را محدود کنید تا از اون فایل ها محافظت بشه یا URL را تنظیم کنید و…
دقت کنید این فایل نام ندارد و این جور فایل ها در صورت وجود مخفی هستند و برای دیدنشان مثلا در سی پنل ، هنگامی که بر file manager کلیک میکنید تیک گزینه show hide fils را فعال و سپس تمام فایل های مخفی قابل رویت اند.
اگر قصد دارید این فایل را در پوشه ای ایجاد کنید از منوی سی پنل گزینه newfile را بزنید سپس .htaccess را وارد کنید ، دقت کنید این فایل نام ندارد و نقطه را باید در ابتدای این نام وارد کنید سپس عبارت htaccess
اگر در حال حاضر این فایل در مسیری مثل public_html موجود است قبل از هر گونه تغییر ابتدا یه نسخه کپی از آن برای بک آپ داشته باشید و اگر در حال حاضر اسکریتی درون این فایل هست کد هایی که می خواهید به آن اضافه کنید را در انتهای تمامی دستورات وارد کنید که باید در آخرین کد دکمه اینتر را بزنید و یک خط جدید ایجاد کنید و سپس کد هایی که قرار است اضافه کنید را قرار دهید.
در ادامه با سری کد هایی که می توان در این فایل اضافه کرد برای هدایت هاست آشنا میشوید.
1- جلوگیری از مرور هاست توسط شخص سوم : در حالت معمول هکر ها می توانند فایل ها و فولدر های هاست شما را ببینند و در آن مرور کنند و در این صورت شخص سوم می تواند ببیند شما از چه افزونه و قالب هایی استفاده میکنید . پیش اومده چون مدیر سایت قالب اختصای اش را در هاستش با پسوند zip گذاشته هکر هم پیداش و دانلودش کرده . برای جلوگیری از این کار کافیه کد زیر را به انتهای htaccess وارد کنید :
1 |
Options All -Indexes |
2- تغییر آدرس پیفرض index برای بارگذاری : در حالت معمول وقتی یک آدرسی را در مرورگر وارد می کنیم فایل های index.html یا index.php یا … را بارگذاری میکند ، شما می توانید اینیشفرض را تغییر دهید ، مثلا کد زیر ابتدا دنبال فایل file.php را اجرا می کند و اگر نبود فایل file.html را اجرا میکند :
1 |
DirectoryIndex file.php file.html |
3- محدودیت دسترسی از طریق آی پی : با استفاده از کد زیر اعلام می کنید که فقط با آی پی 188.50.38.143 می تواند دسترسی داشته باشند :
1 |
allow from 188.50.38.143 |
همچنین با کد زیر اعلام کردیم که کاربر با آی پی زیر دستری نداشته باشد:
1 |
deny from 188.50.38.143 |
و با کد زیر اعلام می کنیم که هیچ کسی اجازه دسترسی ندارد :
1 |
deny from all |
4- ایجاد صفحه خطال به مسیر دلخواه : یکی از پر کاربرد ترین این روش ایجاد صفحه 404 برای صفحاتی که وجود ندارد است ، مثلا اگر آدرسی را وارد کرد که چنین آدرسی برای کاربر ناشناخته است به صفحه ی خاصی منتقل ود که آین مووع را اعلام کند به جای اینکه یه خطای نا مطلوب را به نمایش در بیاورد. برای این کار باید از کد زیر استفاده کرد :
1 |
ErrorDocument erorcode /file.html |
که به جای erorcode شماره خطا مورد نظر را باید وارد کرد و به جای file.html آدرس فایلی که در صورت بروز آن خطا باید به آن منتقل شد . مثلا برای خطای 404 کد زیر را به فایل 404.html منتقل میکند :
1 |
ErrorDocument 404 /404.html |
5- قفل کردن دامنه ایت با www یا بدون www : بهتر است برای افزایش سئو دامنه تان بدون www باشد چون دامنه کوتاه تر میشود . در ثانی اگر سایت شما هم با www و هم بدون www بالا بیاید گوگل فکر میکند دو دامنه یک مطلب را منتشر مکنند و از ارزش هر دو کم میکند ؛ البته اگر در حال حاضر سایتتان در گوگل با www ایندکس شده باشد بهتر است بیخیال شوید چون ایندکس های قبلیتون از بین میره . برای اینکه دامنه تان را بدون www قفل کنید کافیست کد زیر را در htaccess قرار دهید (البته آدرس دامنه خودتا را بجای mrprogrammer.net در خط دوم و سوم وارد کنید) :
1 2 3 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^mrprogrammer\.net$ [NC] RewriteRule ^(.*)$ http://mrprogrammer.net/$1 [R=301,L] |
و برای قفل کردن دامنه فقط با www :
1 2 3 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] |
6- محدودیت در باز کردن فایل ها : برای حفظ امنیت و اطلاعات سایت میتوانید پسوند فایل هایی که بتوان بازشان کرد را تعیین کنیم :
1 2 3 4 5 6 |
Options +FollowSymlinks RewriteEngine On rewritecond %{REQUEST_FILENAME} !^(.+).css$ rewritecond %{REQUEST_FILENAME} !^(.+).js$ rewritecond %{REQUEST_FILENAME} !file.php$ RewriteRule ^(.+)$ /deny/ [nc] |
در کد های بالا ما اجازه دادم فقط فایل هایی را باز کند که پسوند css , js و php دارند و در صورت درخواست سایر پسوند ها کاربر ریدایرکت میشه به پوشه deny
7- محافظت از خود فایل htaccess : برای جلوگیری از لو رفتن اطلاعات خود htaccess باید کد زیر را درونش قرار بدید :
1 2 3 4 |
<files ".htaccess"> order allow,deny deny from all </files> |
8- محدودست در آپلود : شما میتوانید از طریق htaccess محدودیت های در بارگذاری فایل و آدرس و … بگذارید. کد زیر برای حداکثر 30 مگابات را برای آپلود مجاز میکند :
1 |
php_value upload_max_filesize 30M |
کد زیر برای ایجاد محدودیت در ارسال پست هست که حداکثر 10 مگ را برای هر ارسال هر پست مجاز میکند :
1 |
php_value post_max_size 10M |
کد زیر حداکثر زمان اجرا شدن یک صفحه را 200 در نظر میگیرد و بیشتر از آن پیغام requast time به نمایش در می آید :
1 |
php_value max_execution_time 200 |
و کد زیر حداکثر زمان دریافت اطلاعات POST و GET را تعیین میکند که در حال حاضر 250 تانیه است :
1 |
php_value max_input_time 250 |
مرسی که آموزش رو گذاشتی .
خوب بود فقط اول موارد و کدهای امنیتی و مهم ک همه تقریبا وبسایت های وردپرسی قرار میدن توی این فایل مطرح کن بعد بقیه موارد، چون امنیت واقعا مهمه 🙂
چشم جواد جان ، احتمالا قسمت چهارم ارتقا امنیت وردپرس هم منتشر کنم
بسیار ممنون
سلام اول خیلی ممنون که این اموزش گذاشتی دم گرم اگر میشه امکان دارد به صورت فیلم اموزش بده ممنون میشه یاعلی
چون آموزش ساده بود گفتم بهتره به صورت مقاله ارسال کنم اما بازم مرسی از ارسال نظر
من این 2 تا رو اضافه کردم و وقتی از وردپرس اومدم بیرون و خواستم دوباره لاگین کنم ارور میداد
Options All -Indexes
DirectoryIndex file.php file.html
پاک کردم درست شد
دستور اولی که خود من هم قرار دادم و مشکلی نداره ، دقت کمید این دستورات را در خارج از تمامی کد های فعلی این فایل وارد کنید
میدونم احتمالا یک اشتباهی کردم اما گفتم شاید دوستانی این مشکل رو داشته باشن بتونن حل کنند
سلام وخسته نباشید
میخواستم بدونم اگر این فایل یعنی htaccess در روت نباشد چه اشکالی برای سایت پیش میاید!!! من یک هاست دانلود خریدم و هاست دانلود ام با این فایل به مشکل برخورد!! یعنی موقع دانلود یک فایل ارور 500 داخلی می داد!! خلاصه این فایل را مجبور شدم حذف کنم!!!! میخواستم بدونم ایا واجب هست که این فایل در هاست وجود داشته باشد؟؟
سپاس
اگر از هاست دانلود فقط برای دانلود فایل استفاده کرده باشید ، مثلا آپلود سنتر نصب نکرده باشید که به هیچ وجه هیچ مشکلی نداره
اگر هم اسکریپتی مثل وردپرس و آپلود سنتر و .. نصب کرده باشید شاید مشکلی پیش نیاد و در صورت بروز مشکل ، خطا انقدر تو چشم میاد که خودتون متوجه میشید. برای مثال اگر وردپرس نصب کرده باشید و پیوند یکتای سایتتان را سفارشی کرده باشید و این فایل را حذف کنید مطالب سایتتان دیگر بالا نمیاد !
ممنون دوست عزیز: من منظورتون را زیاد متوجه نشدم!!!
من یک هاست سی پنل دارم که توش وردپرس نصب هست!!
من الان پیوند های یکتا را فعال کردم ولی هیچ اروری دریافت نمی کنم!!! کلا توی فایل htacess که یک خط کد هم نبود!!! ایا توی فایل کد هم نباشه :واجب هست که توی هاست باشه؟؟؟
در ضمن یک هاست دانلود دارم که دایرکت ادمین هست و توی فایل ویدئویی و… اپلود می کنم!!!
الان مشکل من این هست که این فایل به لینک های که توی هاست دانلود اپلود می کنم گیر می دهد!! ایا کدی وجود داره که بهش بگیم گیر نده!!! ارور 500
سپاس
سپاس
اگر چیزی داخلش نباشه حذف کردنش اشکالی نداره ، اما اگه خالی باشه دلیل برای حذف کردنش نیست چون دخالتی نداره !
ارور 500 مربوط به سرور هست ، شما با مدیر هاستینگتون تماس بگیرید و اگر جوابگو نبودند توصیه میکنم حتما سرورتون را عوض کنید
ممنون دوست عزیز: من به هاستم تیکت زدم ولی انها می گن برای ما مشکل نداره!!!! از تاپ هاست می گیرم!!!
ایا مشکل از هاست دانلود هست یا هاست اصلی که وبسایت درون اش اپلود شده؟؟؟
سپاس
مشکل از هاستینگه عزیز . سرور فعلی شما نه کیفیت داره و نه امنیت
توصیه میکنم طبق لینک زیر یه هاستینگ مناسب را انتخاب کنید :
ویژگی های یک هاستینگ خوب
یه سوالی واسم پیش اومده این کد ،
Options All -Indexes
با این کد چه فرقی داره
Options -Indexes
در نحوه اجرا ؟ واینکه آیا این کدها مانع ایندکس شدن فولدر ها و محتویات توسط گوگل میشه ؟!!
اگر Options All -Indexes بزارید عمل بر روی کل زیر شاخه ها انجام میشه ، مثلا در htaccess عمل بر کل سایت انجام میشه
اما Options -Indexes فقط بر همون فولدری که فایل htaccess درونشه و محتوای زیر شاخه هایش (فولدر هایش) شامل نمیشه
اگه استفاده میکنید از Options All -Indexes استفاده کنید که بر کل سایت عمل میکنه نه بر فولدر خاصی
خیر این کد مانع ایندکس نمیشه و اصلن برای امنیت وجودش اجباریه و خود بنده هم ااستفاده میکنم
آقا این htaccess تغغیر نام پیدا نمیکنه ! الان هم تو سی پنلم وجود نداره میخواهم بسازم
وقتی شما در سی پنل بر گزینه file manager کلیک میکنید باید چک باکس sohw را فعال کنید و بعد دکمه ok را بزنید.
دقت کنید این فایل نام ندارد و htaccecc پسوند فایل است به ایت صورت : htaccess.
اگر باز مشکل داشتید با مدیر سرروتون در تماس باشید
سلام حسین جان.میشه لطفا این htaccess و mysql رو هم به صورت ویدئویی آموزش بدی؟
کاری نداره عزیز ، همین موراد بالاست دیگه !
سلام اقا حسین وقتیمیخوام سایتو تو الکسا تایید کنم با ارور زیر که عکسو گذاشتم مواجه میشم خواهشا کمک کنید
upload7.ir/uploads//d04608783aff5c95c4e21b2f17717670ec5cfc5c.png
upload7.ir/uploads//e157906346d7d1fc1f63b59e11a27d00834bd5e7.png
سلام آقای برنامه نویس یه سوال دارم اونم اینکه آیا اگه من سایتم رو با www قفل کرده باشم چه فرقی داره با اون سایتی که با www قفل نکرده؟؟؟ آیا از لحاظ مطالب سایت باهم فرق دارن یا چی؟؟؟؟
خیلی ممنون
سلام
از لحاظ ساختار هیچ مشکلی نیست اما از لحاظ سئو تاثیر منفی داره چون یک مطلب با دو آدرس باز میشه
میشه توضیح بدید که این php_value max_execution_tim برای چه مواقعی به کار میرود؟؟؟اصن به درد میخوره یانه؟؟
متشکرم
با این دستور حداکثر مدت زمان اجرای یک صفحه را تعیین میکنیم . مثلا ممکنه یک صفحه 300 ثانیه طول بکشد ، اجرای یک صفحه با این حجم ممکنه به سرور فشار بیاره و برای همین تعیین میکنیم که مثلا زمان بارگذاری یک صفحه بیشتر از 10 ثانیه طول نکشد و اگر بیشتر شد ارتباط قطع شود
خیر کاربر آنچنانی ندارد و در صورت استفاده از اسکریپت های خاص استفاده میشود
سلام دوست عزیزم
ببخشید که همواره سوال میپرسم داداش
این سوالمو هم جواب بدید خیلی ممنونتون میشم : اون قسمت که گفتید برای محافظت کردن از خود فایل htaccess. این قسمت ها رو میشه توضیح بدید؟؟ خیلی ممنون میشم : order allow,deny , Deny From All
این orderبرای چی هستش؟؟چی کاری انجام میده اینجا؟؟
Deny From All چه کاری انجام میده برای محافظ از htaccess؟؟؟؟؟؟
بسیار متشکر
سلام دوست گرامی
Deny From All سطح دسترسی به htaccess را محدود میکند
قسمت order allow یعنی بقیه فایل ها سطح آزاد داشته باشند
سلام
ببخشید میخواستم بپرسم که کدها رو باید بیرون از خود کدهای اچ تی اکسس بزاریم یا داخلش؟
آخه یا جا نوشته بود بیرون کدها باشه بهتره
لطفا راهنمایی کنید.
سلام ، در پایان تمامی دستورات موجود یک خط جدید باز کنید و بزارید
عالی فقط یک سوال یک قسمت از دامنه رو میخوام به ساب دومین انتقال بدم ریدایرکتش چطوری میشه
سلام خسته نباشید
هر چند وقت یک بار ( معمولا” ماهی یک بار) سایت من به مشکل می خوره موقع باز کردن سایت کاربرها پیغام نصب ورد پرس می بینن ( منظورم همون صفحه اول برای انتخاب زبانه که برای شروع هر سایتی باید انتخاب کنیم) هر بار که با هاستینگ تماس می گیرم مشکل را حل می کنن می گن فایل htaccess را reset کردن درست شده این مشکلش از چی می تونه باشه؟ چطوری می شه یک بابر بر ای همیشه این مشکل را حل کرد؟چون من تمام پلاگین های امنیتی که فایل htaccess را دستکاری می کنن غیر فعال کردم ولی باز هم این مشکل هست
سلام
احتمال میدم مشکل از هاستینگتون باشه ، عوضش کنید
ممنون
تا وقتی که فایل htaccess تغییری نکنه هیچ مشکلی برای سایت پیش نمی یاد ولی گاهی بدون یچ دلیلی این فایل تغییر می کنه با این که خودم یا پلاگین ها هیچ تغییری توش نمی دیم…. ایا خود ورد پرس می تونه این فایل را تغییر بده؟ به جز پلاگین های امنیتی چه پلاگینی می تونه این فایل را تغییر بده؟ من پلاگین redirection را نصب دارم می تونه کار این باشه؟
میتونه از پلاگین ها هم باشه ، باید یکی یکی تست کنید اما به احتمال زیاد مربوط به هاستینگ میشه
سلام
برای از بین بردن صفحات و ارور 404 کدام افزونه از نظر ساختار کد های HTML مرتب با SEO بهتره افزونه 404 to 301 یا افزونه 404page ؟
wordpress.org/plugins/404-to-301
wordpress.org/plugins/404page
سلام
اگه امکان داره جواب سوال مارو بدهید.
با تشکر
سلام
من از این افزونه ها استفاده نکردم !
عالی بود کیف کردم واقعا مهندس
مرسی جناب ، لطف دارین
سلام
کیفیت سایتتون و همچنین جواب سوالات بسیار عالیست
من رو wamp server دارم یه چیزی برا خودم طراحی میکنم
در قسمت admin یعنی www/mysite/admin میخوام به جای این آدرس
localhost/mysite/admin/?page=dashboard آدرس localhost/mysite/admin/dashboard
این صفحه رو باز کنه. کد زیر رو نوشتم جواب نمیده
RewriteCond %{QUERY_STRING} ^id=456&lid=789.* [NC]
RewriteRule (.*) localhost/mysite/admin/$1? [R=301]
لطفا راهنمایی بفرمایید.
سلام خسته نباشید یه مشکلی برام پیش اومده که هر وقت از سیشن ها در برنامه ام استفاده می کنم این خطا زیر که در پایین است برام در اون صفحه پیش میاد میتونم درخواست کنم این مشکل براچی پیش میاد ممنون میشم جوابم بدید؟ باتشکر.
This webpage has a redirect loop
The webpage at localhost/Site/Admin/Change_pass.php has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.
فکر میکنم شما کوکی هاتون را غیر فعال کرده باشید ، سیشن برای ثبت از کوکی استفاده میکنه !
سلام.من در حال راه اندازی اولین وبسایتم هستم. برای آپلود فایل ها از pureftp در netbeans استفاده میکنم .وقتی فایل .htaccess رو در نت بینس به پروژه ام اضافه میکنم .عملیات انجام میشه ولی توی پنل هاست هرقدر رفرش میکنم . این فایل رو نمیبینم . حالا میخوام بدونم چون یک فایل مخفی هست توی هاست دیده نمیشه . یا کار من اشتباهه.التبه به صورت دستی هم آپلود کردم اما نشد.
احتمالا چون مخفی هست نمایش داده نمیشه
سلام .ممنون بابت پاسخ به سوال قبلی
راستش من توی فولدر روت سایتم یک فایل دارم به نام composer.json که اطلاعاتی در مورد این که من از چه فریم ورکی استفاده میکنم به کاربر میده و یا فایل home.css که کاربر به راحتی میتونه بهش دست پیدا کنه…حالا من میخوام اگر کاربر مسیر این فایل هارو تئ url وارد کرد به صفحه ی خطا منتقل بشه و نتونه محتویات فایل رو ببینه…
از جه دستوری در.htaccess باید استفاده کنم؟؟
و اگر از این دستور:
Options +FollowSymlinks
RewriteEngine On
rewritecond %{REQUEST_FILENAME} !^(.+).css$
rewritecond %{REQUEST_FILENAME} !^(.+).js$
rewritecond %{REQUEST_FILENAME} !file.php$
RewriteRule ^(.+)$ /deny/ [nc]
باید استفاده کنم…من زمانی که از این دستور استفاده میکنم یک ارور به نام
internal server error 500
جایی خونده بودم که باید روی هاست ماژول mod_rewrite نصب باشه . که پشتیبانی گفت نصبه.
چیکار باید کنم ؟؟؟؟؟
(ببخشید که حجمش زیاد شد)
برای مورد اول میتونید پرمیژن رو تغییر بدید
در مورد مشکل دومتون اطلاعای ندارم ! ولی ارور 500 مربوط به سرور میشه !
سلام مهندس خسته نباشید
می خوام url: localhost/db/Wow/index.php
به
url :localhost/db/Wow/home
تغییر بدم. آیا چنین کاری با htaccess ممکنه؟ اگر میشه کدش رو بزارید
سلام
یک سوال چطوری میشه از طریق فایل htaccess دسترسی دانلود رو بست و فقط بتونن ببیند فیلم یا… رو ولی امکان دانلود نداشه باشن مثل سایت فیلیمو
باتشکر از سایت خوبتون!
سلام حسین جان خوبی؟ انشالله خوب باشی من مثل هرشب وبگردی میکردم که دیدم وبسایت شما رو به نظرم یک وبسایت خیلی خوب هستش امیدوارم هرچه زودتر دوره mysql رو بزاری مشتاقانه در انتظار چنین دوره ای هستم چاکرم یاحق
سلام
مرسی
حتما
سلام
میخوام فقط یه isp بتونه فقط وارد سایت بشه و رنج اون isp رو تعیین کنم چجوری این کارو کنم