ارسال پاسخ 
 
رتبه موضوع
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
htaccess و نحوه کار آن – ابزاری مهم در بهینه سازی
نویسنده پیغام
.v0id آفلاین
علیرضا اسکندرپور
******

ارسال‌ها: 674
ثبت نام: ۱۳۸۸ فروردين ۸
اعتبار: 7

تشکرها : 316
( 497 تشکر در 223 ارسال )
شماره : #1
htaccess و نحوه کار آن – ابزاری مهم در بهینه سازی
سلام دوستان،

منبع: حاشیه وب

امروزه در اکثر سیستم های مدیریت محتوا یک فایل با نام .htaccess دیده می شود. این فایل را با نام distributed configuration files می شناسند و در واقع برای کنترل آپاچی هستند که روی یک شاخه و تمام زیر شاخه های آن عمل می کنند.

اين فايلها براي كاركرد در كنار فايلهاي معمولي HTML يا PHP قرار ميگيرن و پسوند اونها فقط .htaccess ميتواند باشد.
توجه: با تغییر تنظیمات پیش فرض آپاچی می توان پسوند این فایل را به پسوند دلخواه تغییر داد.

این فایل ها از تگ های مخصوص آپاچی استفاده می کنند و البته CGI script هم می پذیرند.

حال شاید سوال کنید - چه خدمتی به ما در بهینه سازی این ابزار می کند؟

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

یک نکته هست که باید یادآور شوم:
- از آنجا که اکثریت کاربران اینترنت قبل از انجام کارها بر روی سرور، از هاست داخلی/خانگی(Local host) فعالیت می کنند، ویندوز اجازه ایجاد این فایل را به دلیل اینکه بدون نام است را به ما نمی دهد:
راه اول:
کد PHP:
$file=".htaccess"$fp=fopen($file,"w+"); fwrite($fp,"#is here our htaccess"); 

راه دوم:
استفاده از Command prompt ویندوز.
C:\>echo testing create .htaccess file > .htaccess

راه سوم:
1- نت پد رو باز کنید.
2- File->Save As
3- نام .htaccess وارد کنید.
4- ذخیره کنید.

توجه: اگر یک حرف یا یک فاصله تغییر کند، باعث دریافت خطای Server error می شود.

کاربرد اول - تغییر صفحات خطا
شما ميتوانید صفحات خطای 404، خطای 500 و ... را به دلخواه خودتان طراحي و به اين طريق بشناسانيد:

کد PHP:
ErrorDocument 404 /404.html
ErrorDocument 500 
/500.html 

کاربرد دوم - مخفي كردن فرمت ها/شناساندن فرمتهاي جديد (add mime type)
يك راه امنيتي كه من واقعا پيشنهاد ميكنم واسه حفاظت از اسكريپت هاي PHP شما اين هست كه آنها PHP نباشند!
برای مثال: فایل PHP شما با فرمت ASP باز شود.

کد PHP:
AddType application/x-httpd-php .asp .jsp 

توضیح: Addtype به ما می گوید که ميخواهیم يک فرمت جديد بشناسانيم بعد نوع آن فايل هاي خاص با فرمت دلخواه خود ميگوییم مثلا image/png يا text/css بعد ميگوییم كه چه فرمتي رو از اين به بعد به عنوان نوعي كه گفته ایم بشناس
اما فرض كنيد ميخواهید از shtml/ssl در سايتتون استفاده كنيد و نياز به شناساندن اين فرمتها به آپاچي داريد.

کد PHP:
AddType text/html .shtml
AddHandler server
-parsed .shtml
Options Indexes FollowSymLinks Includes 

کاربرد سوم - تغییر index.php/index.html
با کد زیر هم ميشود به وب سرور امر كرد كه كدام فايل به عنوان صفحه نخست فرستاده شود.

کد PHP:
DirectoryIndex homearea.php 

کاربرد چهارم - ریدایرکت کردن
استفاده از کد های جاوا یا دیگر کد ها برای ریدایرکت کردن صفحه به مرور زمان جای خود را به دستور زیر داده است.

کد PHP:
Redirect /Dirold/old.html http://site.com/DirNew/new.html 

کاربرد پنجم - تأمین امنیت با IndexIgnore
درصد بالايي از هكرها بعد از نفوذ با جستجو كردن در دايركتوري هاي وب سايت شما و گشتن به دنبال پوشه ها/فايلها با سطح دسترسی مطلوب كارشان را تكميل ميكنند و البته خيلي ها از اول از روش ديد زدن پوشه هايي كه حاوي موتور اسكريپت ها و اطلاعات با ارزشي هستن مثلا فايل config را در بردارن به سايت نفوذ ميكنند

برنامه نویسان واسه جلوگيري از اين امر یک فایل inde.html خالی ایجاد می کنند اما توسط کد زیر می توان يه صفحه مربوط به خالي بودن پوشه را نشان داد يعني هيچ چیزی در اين شاخه نيست در حالي كه شاخه ميتواند پر از فايل باشد.

کد PHP:
IndexIgnore 

اگر بخواهید یک فایل برای مثال: PDF محافظت شود، باید از دستور زیر استفاده کنید.

کد PHP:
IndexIgnore application/pdf 

کاربرد ششم - زبان پیش فرض (DefaultCharset)
مسلماً از تنظیم کردن زبان وب سایت خود در بخش هدر خسته شده اید! با دستور کوتاه زیر به آپاچی می گوییم که همیشه صفحات را با زبان خاصی ارسال کن.

کد PHP:
AddDefaultCharset utf-

کاربرد هفتم - عدم دسترسی برای همه (deny from all)
این دستور برای محافظت آن دسته از فایل هایی که حاوی اطلاعات محرمانه ای هستند بکار می رود.
برای مثال: فایل هایی که اطلاعات دیتابیس، اطلاعات سیستم در آن ذخیره می شود.

کد PHP:
<Directory>
Order Deny,Allow
Deny from All
</Directory

البته می توان از دستور بالا هم برای محدود کردن یک IP استفاده کرد.

کد PHP:
order allow,deny
deny from 123.45.6.7
deny from 012.34.5
.
allow from all 

کربرد هشتم - محدود کردن یک عملیات خاص
استفاده از دو دستور زیر برای جلوگیری از هکر های تازه وارد FSOCKOPEN بسیار مؤثر است.

کد PHP:
<Limit>
Deny from All
</Limit

کد PHP:
<LimitExcept>
Deny from All
</LimitExcept


کاربرد نهم - موتور نوشتن مجدد (Rewrite Engine)
نکته: پیش از هرچیزی بررسی کنید که آیا Apache RewriteEngine فعال است یا خیر! اگر دسترسی دارید می توانید در فایل httpd.conf دستور زیر را اضافه کنید.

کد PHP:
LoadModule rewrite_module modules/mod_rewrite.so 

نکته: در لوکال هاست می توانید با استفاده از جستجو ویندوز همان فایل را پیدا کرده و دستور بالا را اضافه کنید!

این همان چیزی هست که برای زیر مجموعه دامنه (ساب دامین) بکار می رود. با یک مثال توضیح خود را تکمیل می کنم.
برای مثال: شما یک وبلا با آدرس http://www.site.com/blog داشتید. حالا آدرس شما به http://www.site.com/blog1 تغییر کرده است.

کد PHP:
RewriteEngine on
RewriteRule 
^blog(/.*)?$ /blog1$[R=permanent 
توجه: دستور بالا هیچ رابطه ای با ریدایرکت/Redirect ندارد.

سیدراجر
معرفی و دانلود برترین آهنگ ها

حاشیه وب
آموزش آسان بهینه سازی موتور جستجو
(آخرین ویرایش ارسال در: ۱۳۸۹ مرداد ۱۸ ۱۲:۴۸ عصر توسط .v0id. Edit Reason: N/A)
۱۳۸۸ خرداد ۱۷ ۰۵:۵۰ عصر
یافتن تمام ارسال‌های این کاربر نقل این ارسال در یک پاسخ
تشکر شده توسط : admin, zoghal, Y.P.Y, Maya, php, germ, amir.s, parvane, molana, HiddeN, payam, alimokhlesi, smhnaji
php آفلاین
hossein
****

ارسال‌ها: 628
ثبت نام: ۱۳۸۷ دي ۴
اعتبار: 4

تشکرها : 383
( 495 تشکر در 229 ارسال )
شماره : #2
RE: htaccess و نحوه کار آن
راه ساده ی دیگه ای که برای ساخت فایل های htaccess وجود داره ساخت این فایل از طریق dreamweaver هست که شما در قسمت مدیریت فایل های وب سایتتون همون جوری که فایل های دیگه ی وبسایتتون رو ایجاد می کنین می تونین این فایل رو هم ایجاد کنین و هیچ مانعی برای نامگذاری فایلهاتون وجود نداره .
(آخرین ویرایش ارسال در: ۱۳۸۸ تير ۵ ۰۱:۱۷ عصر توسط php. Edit Reason: )
۱۳۸۸ تير ۵ ۰۱:۰۷ عصر
مشاهده وب سایت این کاربر یافتن تمام ارسال‌های این کاربر نقل این ارسال در یک پاسخ
.v0id آفلاین
علیرضا اسکندرپور
******

ارسال‌ها: 674
ثبت نام: ۱۳۸۸ فروردين ۸
اعتبار: 7

تشکرها : 316
( 497 تشکر در 223 ارسال )
شماره : #3
RE: htaccess و نحوه کار آن
همچنین سایت هایی همانند سایت htaccess editor هستند که امکان ایجاد این فایل رو بصورت بسیار ساده میدن.

سیدراجر
معرفی و دانلود برترین آهنگ ها

حاشیه وب
آموزش آسان بهینه سازی موتور جستجو
۱۳۸۸ تير ۵ ۰۱:۱۴ عصر
یافتن تمام ارسال‌های این کاربر نقل این ارسال در یک پاسخ
تشکر شده توسط : smhnaji
mojtabadj آفلاین
عضو
***

ارسال‌ها: 104
ثبت نام: ۱۳۸۸ بهمن ۴
اعتبار: 0

تشکرها : 32
( 10 تشکر در 7 ارسال )
شماره : #4
RE: htaccess و نحوه کار آن
سلام دوست عزیز

این فایل .htaccess رو باید کنار فایلام بزارم؟

اونو گزاشتم کنار فایلام ولی کار نمیکنهSad

من تو سرور محلی تستش کردما

چه تنظیماتی رو باید انجام بدم؟
۱۳۸۸ بهمن ۴ ۱۱:۳۷ عصر
یافتن تمام ارسال‌های این کاربر نقل این ارسال در یک پاسخ
molana آفلاین
مولانا
*****

ارسال‌ها: 827
ثبت نام: ۱۳۸۷ آذر ۳۰
اعتبار: 8

تشکرها : 898
( 490 تشکر در 289 ارسال )
شماره : #5
RE: htaccess و نحوه کار آن
نور به قبرت بباره علیرضا جان :دی (البته بعد صد سال)
من می خوام پسوند پی اچ پی دیده نشه آخرش
مثلن index.php بشه /index

چی کار کنم اونوخ؟

ز باغ پیرهنت چون دریچه ها وا شد - بهشت گمشده پشت دریچه پیدا شد
رها ز سلطه ی پاییز، در بهار اتاق - گلی به نام تو در بازوان من وا شد
به دیدن تو همه ذره های من شد چشم - و چشم ها همه سر تا به پا تماشا شد
شتاب خواستنت این چنین که می بالد - به دیدن تو مگر می توان شکیبا شد
پدرغزل معاصر ایران - حسین منزوی
۱۳۸۸ بهمن ۵ ۱۲:۳۶ صبح
مشاهده وب سایت این کاربر یافتن تمام ارسال‌های این کاربر نقل این ارسال در یک پاسخ
.v0id آفلاین
علیرضا اسکندرپور
******

ارسال‌ها: 674
ثبت نام: ۱۳۸۸ فروردين ۸
اعتبار: 7

تشکرها : 316
( 497 تشکر در 223 ارسال )
شماره : #6
RE: htaccess و نحوه کار آن
(۱۳۸۸ بهمن ۴ ۱۱:۳۷ عصر)mojtabadj نوشته :  سلام دوست عزیز

این فایل .htaccess رو باید کنار فایلام بزارم؟

اونو گزاشتم کنار فایلام ولی کار نمیکنهSad

من تو سرور محلی تستش کردما

چه تنظیماتی رو باید انجام بدم؟

سلام از ماست،

در اولین صفحه (روت) باید قرار داده شود! در بعضی از سرور ها به دلیل تنظیمات این فایل پس از آپلود نشان داده نخواهد شد! اگر با موفقیت آپلود کردید و مشاهده نکردید، شک نکنید. سرور سروره عزیز دلم Shy
(۱۳۸۸ بهمن ۵ ۱۲:۳۶ صبح)molana نوشته :  نور به قبرت بباره علیرضا جان :دی (البته بعد صد سال)
من می خوام پسوند پی اچ پی دیده نشه آخرش
مثلن index.php بشه /index

چی کار کنم اونوخ؟

یک سطح دسترسی باید برای آدرس نوشته و سپس یک آدرس جدید را بدون پسوند مانند همان مثال خودتان قرار دهید. متاسفانه فراموش کردم چی باید بنویسیم اما اگر کمی پرس و جو کنید مشکلتون حل میشه Blush

سیدراجر
معرفی و دانلود برترین آهنگ ها

حاشیه وب
آموزش آسان بهینه سازی موتور جستجو
(آخرین ویرایش ارسال در: ۱۳۸۸ بهمن ۵ ۰۲:۴۸ عصر توسط .v0id. Edit Reason: )
۱۳۸۸ بهمن ۵ ۰۲:۴۵ عصر
یافتن تمام ارسال‌های این کاربر نقل این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:

تماس با ماiranphp.orgبازگشت به بالابازگشت به مطلبآرشیو انجمنپیوند RSS