آموزش تنظیمات در فایل .htaccess قسمت اول

بهمن ۷, ۱۳۹۰ توسط : سعید

آموزش تنظیمات در فایل .htaccess قسمت اول
در این آموزش شما با نحوه کار با تنظیمات وب سرور آپاچی (Apache) در فایل .htaccess و قدرت این فایل برای بهبودکارایی سایتتون آشنا میشید.گرچه htaccess یک فایل بیشتر نیست اما با استفاده از این فایل میتونید تنظیمات زیادی سمت سرور اعمال کنید.چند نمونه از کاربردهای این فایل ایجاد صفحه خطا ۴۰۴ ، آدرسهای سئو(SEO Friendly URL) ، فشرده کردن فایلها و …. رو میشه نام برد. که به امید خدا به مرور با نحوه کار با این فایل آشنا میشیم.

ساخت فایل .htaccess
htaccess در حقیقت یک فایل متنی بیشتر نیست که میتونید با نرم افزارهای ویرایش متن مثل notepad بسازید.مشکلی کهممکنه برای کاربرای ویندوز پیش بیاد اینه که نتونن چنین فایلی رو ایجاد کنن.برای این کار ابتوا notepad رو باز کنید بعد از گزینه Save as … نوع فایل رو All Files قرار بدید سپس فایل رو با نام .htaccess ذخیره کنید.دقت کنید که قبل از کلمه htaccess یک نقطه (dot) قرار داره.

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

خب مقدمات کافیه میریم سراغ آموزش.

ایجاد صفحه خطای دلخواه( ۴۰۴ Not Found )
اولین کاربرد htaccess ایجاد صفحه خطای شخصی برای سایته.اینکار به شما امکان میده تا یک صفحه خطای شخصی رو به جای صفحه پیش فرض سرور به کاربر نشون بدید.به عنوان مثال وقتی کاربر به صفحه ای هدایت میشه که وجود نداره یک صفحه دلخواه رو بهش نشون بدید یا هنگامی که کاربر میخواد فایلی رو دانلود کنه که وجود نداره.با اینکار سایت شما حرفه تر میشه.مثلا میتونید مشخص کنید هنگامی که یک کاربر به صفحه یا فایلی که وجود نداره هدایت میشه یک اسکریپت خاص با پی اچ پی اجرا بشه.
برای این کار از دستور زیر در فایل htaccess استفاده میکنیم :

ErrorDocument errornumber /file.html

در دستور بالا به جای errornumber شماره خطای مورد نظر و در قسمت file.html صفحه ای رو مشخص میکنیم که قراره به کاربر نمایش داده بشه.
به عنوان مثال هنگامی که کاربر به صفحه ای رفت که در سایت ما وجود نداشت با کد زیر میتونیم به صفحه notfound.html هدایتش کنیم :

ErrorDocument 404 /notfound.html

اگر فایلی که قراره به کاربر نمایش داده بشه در پوشه اصلی سایت نبود به صورت زیر آدرس دهی میکنیم :

ErrorDocument 404 /errorpages/notfound.html

در دستور بالا فایل notfound.html در پوشه errorpages قرار داره.
در زیر لیست خطاهایی که بیشتر اتفاق میافتن رو مشاهده میکنید.میتونید با استفاده از شماره خطاها در صورت بروز هر کدوم کاربر رو به صفحه دلخواه هدایت کنید.
۴۰۱ – Authorization Required
۴۰۰ – Bad request
۴۰۳ – Forbidden
۵۰۰ – Internal Server Error
۴۰۴ – Wrong page

عدم نمایش لیست فایلها در یک پوشه
ممکنه برای شما هم پیش اومده باشه هنگامی که یه سری فایل در یک پوشه روی وب سایتتون دارید وقتی در مرورگر آدرس پوشه رئ تایپ میکنید میبینید که لیست فایلها نمایش داده میشه.در صورتی که نخواسته باشید کسی لیست فایلها رو ببینه میتونید از دستور زیر استفاده کنید :

Options –Indexes

اجازه یا عدم اجازه دسترسی به سایت از طریق IP
برخی مواقع نیاز هست که فقط به کاربرانی با یک IP خاص اجازه دسترسی به سایت رو داشته باشن بدیم. یا مثلا اجازه ورود به یک IP رو به سایت ندیم. این در صورتی امکان پذیره که شما از آی پی طرف مقابل اطلاع داشته باشی و نکته دیگه این که اکثر کاربران اینترنت از آی پی های داینامیک استفاده میکنن و با هر بار اتصال به اینترنت آی پی متفاوتی دارن.به هر حال برای عدم دسترسی به سایت از دستور زیر استفاده میکنیم :

deny from 000.000.000.000

به جای ۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰  آی پی مورد نر رو قرار میدیم . دقت کنید برای بلاک کردن کاربران یک کشور میتونید به صورت زیر عمل کنید ( رنج آی پی هر کشور مشخصه )

deny from 1.12.0.0/14

در دستور بالا آی پی ۱٫۱۲٫۰٫۰ تا آی پی ۱۲٫۰٫۰٫۱۴  که متعلق به کشور چین هست اجازه دسترسی به سایت رو ندارن.
در این سایت میتونید لیست آی پی مربوط به هر کشور رو مشاهده کنید.

http://www.countryipblocks.net/

برای اجزه دادن فقط به یک IP از دستور زیر استفاده میکنیم .

allow from 000.000.000.000

اگر شما بخواید هیچ کس اجزاه دسترسی به سایت یا یک پوشه خاص رو نداشته باشه از دستور زیر استفاده کنید :

deny from all

دستور بالا معمولا برای عدم دسترسی کاربران به فایلهای یک پوشه میشه.

تغییر فایل index پیش فرض
میدونید که وب سرور آپاچی فایل پیش فرض برای نمایش رو index.htm , index.html در نظر میگیره.یعنی بدون ذکر نام فایل در آدرس ابتدا آپاچی دنبال چنین فایلهایی میگرده. شما برای اینکار محدود نیستید و میتونید هر فایلی رو به عنوان فایل ایندکس مشخص کنید.مصلا میتونید فایل foofoo.blah رو به عنوان فایل ایندکس معرفی کنید.

DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm

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

بازدید : ۳۵۲۲۹

محمود
بهمن ۸, ۱۳۹۰ @ ۹:۳۹ ب.ظ

با سلام
ممنون از مطلب خوبتون.
اگر سایت ما مثلا چند ساب دامین داره بعد همه اونها رو حذف میکنیم.اگر بخوایم تمام آدرسهای ساب دامین از جمله خود اونها و زیر مجموعه که شامل آدرسهای مطالب و… به دامین اصلی ریدایرکت بشه و صفحه های خطا نیاد چیکار باید انجام بدیم.سیستم وردپرس
ممنون

پاسخ دادن
    سعید
    بهمن ۹, ۱۳۹۰ @ ۱:۱۴ ق.ظ

    سلام
    برای ریدایرکت ساب دومین ها به دومین اصلی باید مثل زیر عمل کنید
    وقتی یک ساب دومین روی هاست درست میکنید در اصل یک پوشه در مسیر اصلی ساخته میشه.
    به پوشه های ساب دومین هاتون برید و کد htaccess زیر رو داخلش بذارید
    دقت کنید نام ساب دومین هارو تغییر بدید

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

    موفق باشید.

    پاسخ دادن
      محمود
      بهمن ۹, ۱۳۹۰ @ ۲:۲۸ ق.ظ

      سلام مجدد
      بسیار بسیار ممنونم از شما
      یا علی

      پاسخ دادن
بهمن ۱۰, ۱۳۹۰ @ ۶:۴۰ ب.ظ

مقالات خیلی خوب و واقعا professional داری
سایت من درباره ویندوز به لینوکس هست خوشحال میشم با هم تبادل لینک کنیم

پاسخ دادن
بهمن ۱۱, ۱۳۹۰ @ ۵:۳۸ ب.ظ

با سلام
ممنون که پیشنهاد تبادل لینک رو پدیرفتین
شما با مشخصاتی که فرمودید لینک شدید
در صورت تمایل اسم سایت بنده رو با ” ویندوز به لینوکس ” لینک کنید

پاسخ دادن
محمد رضا
بهمن ۲۹, ۱۳۹۰ @ ۱:۳۹ ب.ظ

سلام دوست عزیز
ممنونم ا از این همه مطالب مفید بسیار ارزنده بود
اگر امکان داره منو راهنمایی کنید
میخوام دو تا از تغییرات زیر را به on یا off تبدیل کنم باید چه کنم

safe_mode on
register_global off

پاسخ دادن
    سعید
    بهمن ۳۰, ۱۳۹۰ @ ۹:۲۴ ق.ظ

    سلام
    ممنون از شما
    با استفاده از دستور ini_set میتونید تغییرات مورد نظر رو در فایل php.ini اعمال کنید

    ini_set('safe_mod' , 'on');

    موفق باشید

    پاسخ دادن
madyar
فروردین ۲۵, ۱۳۹۱ @ ۱۰:۴۵ ب.ظ

خیلی ممنون! مطلب مفیدی بود

پاسخ دادن
علیرضا
فروردین ۳۰, ۱۳۹۱ @ ۴:۰۲ ب.ظ

ببخشید این دستور(ErrorDocument 404 /notfound.html) از روت (www) خود php آدرس دهی می کنه ، چطور میتونم از خود cms ام لینک دهی کنم. این فایل و فایل htaccess. هر دو در این پوشه اند.(می خوام از آدرس مطلق استفاده نکنم ، یعنی که از روت مسیر دهی نشه).

پاسخ دادن
علیرضا
اردیبهشت ۸, ۱۳۹۱ @ ۱۱:۰۴ ق.ظ

ممنون که به سوالم پاسخ دادید، ۹ روز شد…

پاسخ دادن
    اردیبهشت ۱۷, ۱۳۹۱ @ ۲:۳۱ ب.ظ

    سلام علیرضا جان
    واقعا شرمنده ام.یه مدت سرم شلوغ بود اصلا وقت نکردم بیام توی سایت تظرات رو جواب بدم.
    متوجه منظورت نشدم.میشه بیشتر توضیح بدی؟

    پاسخ دادن
اردیبهشت ۹, ۱۳۹۱ @ ۶:۳۷ ب.ظ

سلام من یک سیستم وبلاگدهی ورد پرس رو همراه با نیوک توی روت اصلی سایتم نصب کردم حالا میخام وردپرس و وبلاگها از index2.php و نیوک از index.php استفاده کنه
خیلی ممنون میشم که بگین چطوری میشه این کار رو کرد

پاسخ دادن
    سعید
    اردیبهشت ۱۷, ۱۳۹۱ @ ۲:۳۹ ب.ظ

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

    موفق باشی

    پاسخ دادن
اردیبهشت ۱۷, ۱۳۹۱ @ ۱۰:۲۲ ق.ظ

سلام دوستان و خسته نباشد…
من میخوام زبان php را یاد بگیرم و حتما باید یاد بگیرم و میخواهم شماهم در کار کمکم کنید.
برای یادگیری این زبان برنامه سازی اول باید چکار کنم؟
مقدمه برای شروع کار چیست؟
با تشکر

پاسخ دادن
    سعید
    اردیبهشت ۱۷, ۱۳۹۱ @ ۲:۳۵ ب.ظ

    سلام شما هم خسته نباشید

    برای شروع PHP ابتدا باید به مباحث html , css آشنا باشید. بعد شروع به خواندن مقدمات و نحوه نوشتن دستورات و مباحث کلی رو یاد بگیرید.
    به نظر من بعد از این مرحله بهتره که با یک پروژه عملی آموزش رو کامل کنید.

    موفق باشید

    پاسخ دادن
علیرضا
اردیبهشت ۱۷, ۱۳۹۱ @ ۱۰:۴۶ ق.ظ

منتظریم…

پاسخ دادن
خرداد ۸, ۱۳۹۱ @ ۱۰:۲۸ ق.ظ

سلام
من میخوام دسترسی به یکسری فایل اجرایی رو محدود به کاربران خاص کنم.
مثلا فایل Hello.txt رو می خوام فقط کاربرایی که لاگین کردن ببینند.
با انجام عملیات Session در Php می تونم دسترسی رو محدود کنم اما چاره ای برای این پیدا نکردم که اگه کاربر در آدرس بار : http://www.example.com/hello.txt رو وارد کرد نتونه اون رو ببینه.

از .htaccess هم استفاده کنم کلا کسی نمی تونه ببینه.

خلاصه ی سوالم رو این جوری مینویسم که من میخوام htaccess من با session در ارتباط باشه.
وقتی شما لاگین هستی htaccess محدودت نکنه
اما لاگین نکردی و Session نداری htaccess اجازه دسترسی رو نداره

ممنون میشم جوابم رو بدین

پاسخ دادن
    سعید
    خرداد ۸, ۱۳۹۱ @ ۱۱:۰۶ ق.ظ

    داخل پوشه ای که فایل hello.txt قرار داره یک فایل htaccess بسازید. توی این فایل دستور زیر رووارد کنید
    order allow , deny
    deny from all
    با این دستور تمام فایلهای داخل پوشه از دسترس به صورت مستقیم خارج میشن.یعنی اگر اکسی توی آدرس بار نام فایل رو بزنه نمیتونه به فایل دسترسی داشته باشه. اما با کدهای php میتونی به فایل مورد نظر دسترسی داشته باشی.
    برای کاری که میخوای انجام بدی این روش خوبیه.اول فایلهات رو با htaccess از دسترس کاربر خارج کن بعد با پی اچ پی فقط به اربران لاگین شده اجازه دسترس بده

    موفق باشی

    پاسخ دادن
      خرداد ۸, ۱۳۹۱ @ ۱۱:۱۵ ق.ظ

      ممنون
      اما وقتی از دسترس خارج شد، کاربری که لاگین هم کرده دسترسی نداره.
      به اون چطور اطلاعات رو برسونم.
      میخوام کاربری که لاگین کرده فایل رو دانلود کنه. اما اون هم دیگه دسترسی نداره.
      اون هم اگه بخواد از لینک دانلود استفاده کنه میگه نمی تونی.

      نمی دونم تونستم سوالم رو جا بندازم یا نه

      پاسخ دادن
        سعید
        خرداد ۸, ۱۳۹۱ @ ۱۱:۳۳ ق.ظ

        وقتی از دسترس خارج شد باید با دستورات header کاربری که لاگین کرده اجازه دانلود بدی.
        مثلا :

        if (isset($_SESSTION['logged_in'])) {
          $file = '/path/to/mp3/file.mp3';
        
          header('Content-type: audio/mpeg');
          header('Content-length: ' . filesize($file));
        
          readfile($file);
        }
        
        پاسخ دادن
          خرداد ۸, ۱۳۹۱ @ ۱۱:۵۴ ق.ظ

          خیلی خیلی خیلی ممنون
          خیلی آقایی آقا سعید

          تونستم دسترسی رو بوجود بیارم.
          البته مثلا برای فایل عکس (jpg) اما مثلا فایل (mp3)، رو به اسم همون access.php که هدر رو توش کپی کردم دانلود میکرد و دیگه نمی شد مثل mp3 باهاش برخورد کرد
          برای همین قدر هم خیلی ممنونتونم
          خیلی لطف کردین
          بقیه رو خودم درست میکنم

          ممنون

          سعید
          خرداد ۸, ۱۳۹۱ @ ۱۲:۰۷ ب.ظ

          خواهش میکنم
          خوشحالم مشکلت رفع شد

          خرداد ۸, ۱۳۹۱ @ ۱۲:۰۳ ب.ظ

          اونم تونستم درست کنم
          کافی بود بهش بگم چی save کنه

          $filename = 'audio/1/1.mp3';
          
          if(file_exists($filename)) {
              header('Content-Type: audio/mpeg');
              header('Content-Disposition: filename="test.mp3"');
              header('Content-length: '.filesize($filename));
              header('Cache-Control: no-cache');
              header("Content-Transfer-Encoding: chunked"); 
          
              readfile($filename);
          } else {
              header("HTTP/1.0 404 Not Found");
          }
          
          

          ممــــــــــــــــــــــــــــنون

خرداد ۸, ۱۳۹۱ @ ۱۰:۳۰ ق.ظ

در ضمن از سایت تون هم خیلی خیلی ممنونم
خیلی بهم کمک کرد

پاسخ دادن
    سعید
    خرداد ۸, ۱۳۹۱ @ ۱۱:۱۰ ق.ظ

    خواهش میکنم
    موفق باشی

    پاسخ دادن
خرداد ۱۰, ۱۳۹۱ @ ۴:۲۶ ب.ظ

سعید
من مهندسی شیمی خوندم
فوق دارم از شریف
اما از خوش روزگار طراحی سایت کار میکنم. یعنی مهندسی شیمی تعطیل
یعنی فکر عاشق طرحی سایت و نرم افزارم
PHP JavaScript XML CSS SEO رو تقریبا مسلطم
برنامه نویسی هام رو هم شی گرایی می نویسم
MVC هم استفاده میکنم
اصلا هم رابطه ی خوبی با هیچ کد آماده ای ندارم
همه چی، حتی اسلاید چرخشی جاوا اسکریپت هم دانلود نمی کنم ، همه رو هم خودم مینویسم
اما با این اوصاف ، چون تجربی یاد گرفتم دلم میخواد اصول کلاسیک اینترنت رو بیشتر بشناسم

چه پیشنهادی برام داری؟

پاسخ دادن
    سعید
    خرداد ۱۱, ۱۳۹۱ @ ۵:۱۲ ب.ظ

    این مهارتهایی که شما بلدید و استفاده میکنید خیلی عالیه همچنین اینکه از کدهای اماده استفاده نمیکنید.
    البته به نظر من همیشه نمیشه خودت بشینی و کد بنویسی بعضی جاها باید از کدهای آماده استفاده کنی تا وقتت الکی گرفته نشه.

    من هم تجربی طراحی سایت رو یاد گرفتم اما چیزی که این تجربه رو کامل میکنه اول زمانه بعد خوندن کتابها و پروژه های اوپن سورسه.
    منوظرت رو از ” اصول طراحی کلاسیک اینترنت” رو نفهمیدم اما فکر میکنم چیزی که تو لازم داری خوندن چندتا کتابه و بررسی پروژه های بزرگ و نحوه کدنویسیشونه.
    کتابهای زیر رو بهت پیشنهاد میکنم بخونی :
    Object oriented Programming in PHP 5
    PHP Objects, Patterns, and Practice
    کتاب اول رو خوندم و کتاب دوم رو تازه شروع کردم خیلی کتابهای خوبی هستند.

    امیدوارم جواب سوالت رو داده باشم .
    بازم سوالی بود در خدمتم

    پاسخ دادن
هومن
خرداد ۱۵, ۱۳۹۱ @ ۱۱:۲۴ ق.ظ

سلام
آقا تو روت یه htaccess هست که یجورایی خیلی چیزا رو بسته انواع فایل و اینا
بعد اجازه دسترسی به هیچ دایرکتوری و فایلی رو هم نمیده (اررور پیج میاره)
من میخوام مثلا به پوشه test سطح دسترسی بدم بگم آقا کلا با این کار نداشته باش
باس چیکار کرد؟

پاسخ دادن
    سعید
    خرداد ۱۷, ۱۳۹۱ @ ۶:۴۹ ق.ظ

    سلام
    محتویات فایلت رو اینجا بذار تا بتونم راهنماییت کنم

    موفق باشی

    پاسخ دادن
مرداد ۲۷, ۱۳۹۱ @ ۲:۳۷ ب.ظ

با سلام
یه سایتی رو خودم با php نوشتم حالا که امدم ریختمش رو هاست با پیغام زیر مواجه شدم تنظیمات htaccess خاصی رو باید انجام بدم ؟

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@anisaman.ir to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2 Server at anisaman.ir Port 80

پاسخ دادن
    سعید
    مرداد ۲۸, ۱۳۹۱ @ ۱۰:۳۱ ق.ظ

    سلام
    محتویات فایل htaccess رو برام ایمیل کنید تا چک کنم

    پاسخ دادن
سعید
مرداد ۲۸, ۱۳۹۱ @ ۸:۴۹ ق.ظ

سلام
من یه سوالی دارم :
اگه ما یه سایتی داشته باشیم که کاربران میتونن لاگین بشن و به یکسری از صفحات دسترسی داشته باشن حال بخوایم یک مواقعی دسترسی به بعضی از صفحات را که کاربر تا پیش از این به اونها دسترسی داشت را از دسترس او خارج کنیم به صورتی که اگر آدرس اون صفحه رو توی آدرس بار تایپ کرد بازم نتونه به اون صفحه برسه و پیغام خطا دریافت کنه . من لینک بعضی صفحات را توی بانک اطلاعاتی ذخیره کردم و یک فیلد براشون تعریف کردم بنام visible به این صورت که وقتی مدیر سایت این فیلد را برای آدرسی ۰ کنه اون لینک دیگه توی صفحه کاربری کاربران نشان داده نمیشه ولی مشکل اینجاست که اگه کاربر اسم اون صفحه رو بدونه به راحتی با تایپ آدرس اون در آدرس بار میتونه به اون صفحه برسه ؟؟؟؟
ممنون

پاسخ دادن
    سعید
    مرداد ۲۸, ۱۳۹۱ @ ۱۰:۳۸ ق.ظ

    سلام
    برای اینکار باید از نقش ها استفاده کنید.
    مثلا برای کاربری نقش کاربر معمولی رو ست میکنید و یک صفحه برای مدیریت قابل دسترسه.
    مثلا یک جدول به نام rules دارید و بخشهای سایت و نقش ها رو داخلش تعریف میکنید. هرکاربر هم یک فیلد داره به نام rule که با جدول rules در ارتباطه.
    هنگام بازدید یک صفحه توسط کاربر باید چک کنید که ایا نقش کاربر و صفحه یکسانه یا خیر اگر یکسان نبود یعنی کاربر اجازه دسترسی به صفحه رو نداره

    پاسخ دادن
محسن
شهریور ۲۴, ۱۳۹۱ @ ۶:۵۰ ب.ظ

با سلام
میخواستم در مورد seo friendly url که گفتید توضیح بدید مثل همین صفحه که الان داخلش هستیم و به این صورت هستش
چون خیلی سرچ کردم تا به اینجا رسیدم
ممنون میشم توضیح بدید
با تشکر از مطلب خوبتون

پاسخ دادن
محسن
شهریور ۲۶, ۱۳۹۱ @ ۶:۴۰ ق.ظ

منظور من همین فارسی کردن لینک هست که مربوط به سئو میشه
اگه در مورد روش مورد استفده توضیح بدید خوب میشه

پاسخ دادن
مهر ۲۴, ۱۳۹۱ @ ۷:۰۴ ب.ظ

سلام آموزش خیلی خوبی بود. مرسی
به امید مؤفقیت روزافزون برایتان

پاسخ دادن
آبان ۷, ۱۳۹۱ @ ۳:۱۴ ب.ظ

عالی بود اقا دستتون درد نکنه

پاسخ دادن
آذر ۲۹, ۱۳۹۱ @ ۱۱:۱۸ ق.ظ

چطور میتونم با htaccess آدرس بدون www رو به با www تبدیل کنم؟

پاسخ دادن
محمدی
اردیبهشت ۱۸, ۱۳۹۲ @ ۹:۵۶ ق.ظ

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

پاسخ دادن
    سعید
    اردیبهشت ۲۳, ۱۳۹۲ @ ۴:۴۶ ب.ظ

    سلام
    منظورتون چیه نتونه دامین رو عوض کنه؟

    پاسخ دادن
      محمدی
      اردیبهشت ۲۹, ۱۳۹۲ @ ۱۱:۱۲ ق.ظ

      سلام منظورم این بود که چطور میشه برای کد ها در cpanel رمز گذاشت که فقط نویسنده کد ها بتونه کد ها را تغییر بده و ببینه نه مشتری یا کسی دیگه. چون بعضی از مشتریهای ما رمز cpanel را می گیرند و کد ها را تغییر می دن راهی به جز دیکد کردن. که اگر مشتری دامین را عوض کرد کد ها دیگه کار نکنن روی دامین جدید. با تشکر

      پاسخ دادن
خرداد ۲۹, ۱۳۹۲ @ ۱۰:۴۶ ب.ظ

سلام
سپاسگذارم دوست من آموزش بسیار مفید و خوبی رو برای انتشار انتخاب نموده اید
پیروز و پایدار باشید

پاسخ دادن
تیر ۷, ۱۳۹۲ @ ۳:۰۴ ب.ظ

سلام، مطلب خیلی خوبی بود.
یک سوال داشتم چطوری میشه پسوند فایل های php رو مخفی کرد،یعنی index.php بشه index

پاسخ دادن
تیر ۱۳, ۱۳۹۲ @ ۷:۴۳ ق.ظ

خیلی دنبال تنظیم htaccess بودم.ممنون

پاسخ دادن
تیر ۱۳, ۱۳۹۲ @ ۵:۲۵ ب.ظ

سلام من یه کد درسته حسابی میخوام برای اینکه کاربر یا همون هکر ندون extension فایل مورد درخواست رو ببینه مثلا بجای file.php ببینه file.bd
متشکرم

پاسخ دادن
mohsen
تیر ۱۳, ۱۳۹۲ @ ۱۰:۰۷ ب.ظ

یک سوال داشتم چطوری میشه پسوند فایل های php رو مخفی کرد،یعنی index.php بشه index
مثلا بشه index.bm یا index.km

پاسخ دادن
مرداد ۲۶, ۱۳۹۲ @ ۱۰:۳۳ ق.ظ

سعید خان منتظر قسمت دوم هستیما…

پاسخ دادن
شهریور ۱۶, ۱۳۹۲ @ ۱۱:۴۲ ق.ظ

سلام
من توی هاست یه پوشه دارم که نمیخوام کاربران با زدن لینک مستقیم اون پوشه بتونن اطلاعات داخل اون رو بدونن ( حتی با زدن اسم پوشه های داخلی اون پوشه ) ولی میخوام وقتی لینک از فایلهای داخل اون پوشه گذاشته شد اون فایل باز بشه !
مثلا
یه سایت دارم با آدرس
http://www.domain.com/files
داخل پوشه files دو تا پوشه وجود داره
images
txt
میخوام اگه کسی ادرس رو اینطوری زد
http://www.domain.com/files/images
هیچی نبینه ولی اگه بزنه
http://www.domian.com/files/images/001.jpg
عکس براش لود بشه !
ممنون میشم برای ساختش راه نمایی کنید

پاسخ دادن
    سعید
    شهریور ۱۶, ۱۳۹۲ @ ۱:۳۴ ب.ظ

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

    Options -Indexes
    

    اگر هم میخوای که روی همه پوشه هایی که دری اعمال بشه توی پوشه اصلی بذارش تا همه زیر پوشه ها هم شاملش بشه.
    موفق باشی

    پاسخ دادن
آذر ۲۶, ۱۳۹۲ @ ۲:۰۲ ب.ظ

سلام سعید خسته خیلی تشکر ازهدایات تون!
راستی IndexIgnore * چی فرقی داره با options-indexes یااین که هردو یکی هستن!!
اگه اینطور نیست اولی چیکار میکنه دومی چی کار!!

پاسخ دادن
    سعید
    دی ۲, ۱۳۹۲ @ ۱:۰۱ ب.ظ

    سلام
    در حالتی که شما نوشتین با هم فرقی ندارن. ولی اگر از option – Indexes استفاده کنیم در تمام شاخه های سایت از ایندکس کردن فایلها و پوشه ها جلوگیری میکه و خطای ۴۰۳ ( فکر کنم) میده. اما مثلا اگر شما دو تا پوشه داشته باشید و خواسته باشین یکی از این پوشه ها ، فایلها و پوشه هاش ایندکس بشن باید از دستور زیر استفاده کنید :
    IndexIgnore app
    که در خط بالا فقط پوشه app رو اجازه نمیده ایندکس بشه.
    موفق باشید

    پاسخ دادن
اسفند ۱۴, ۱۳۹۲ @ ۱۲:۳۶ ق.ظ

مرسی
پیش ما هم بیا
http://www.websdesigner.ir

پاسخ دادن
احسان
خرداد ۱۱, ۱۳۹۳ @ ۹:۴۷ ق.ظ

سلام
ممنون بابت مطلب خوبتون
من می‌خوام آدرس
mysite.com?category=product

رو تغییر بدم به
mysite.com/product

چطوری باید این کارو کرد؟ و بعد اینکه برای لینک دادن از لینک اولی نمیخواد استفاده کرد و همه جا میشه لینک دوم رو گذاشت درسته؟ولی تو صفحه mysite میشه از $_GET استفاده کرد؟نمیدونم درست متوجه شدم یا نه
ممنون میشم راهنمایی کنید

پاسخ دادن
    سعید مقدم زاده
    خرداد ۱۴, ۱۳۹۳ @ ۱:۴۳ ب.ظ

    سلام
    از کد زیر استفاده کنید :

    RewriteEngine On
    RewriteRule ^([^/]*)$ /?category=$1 [L]
    

    وقتی از دستور بالا استفاده میکنید در اصلا همون صفحه اول یعنی mysite.com?category=product درخواست میشه با این کد به آپاچی میگید که اگر به صورت mysite.com/product هم صفحه ای درخواست شد همون آدرس قبلی رو فراخوانی میکنه که مقدار product در category قرار میگیره.
    موفق باشید

    پاسخ دادن
سیدرضافاطمی
تیر ۲۲, ۱۳۹۳ @ ۱۰:۴۲ ب.ظ

سلام
ضمن تشکر از سایت خوبتون و مطالب مفیدتون یه سوال داشتم:
همونطور که مطلعید همین فایل htaccess کامپایلر های فایل ها رو مشخص می کنه. اگه من بخوام کامپایلر تصاویرم رو php قرار بدم باید از چه دستوری استفاده کنم؟
یعنی می خوام که هر فایلی با فرمت تصویری به عنوان یه فایل php شناخته بشه و اجرا بشه

پاسخ دادن
    سعید مقدم زاده
    تیر ۲۵, ۱۳۹۳ @ ۱۱:۳۶ ق.ظ

    سلام.
    میتونید از دستور زیر استفاده کنید :

    AddType application/x-httpd-php .jpg
    
    پاسخ دادن
کاوه
آبان ۵, ۱۳۹۳ @ ۳:۰۸ ب.ظ

سلام. ممنون از مطالب خوبتون.

من یه سایت دارم که ۲۰ تا دامنه روش پارک شده. می خوام بجز domain.ir همه اون اون ها به پوشه other انتقال داده بشن. یه کد هم نوشتم ولی کار نمی کنه.

RewriteCond %{HTTP_HOST} ^(www.)?((.*)(\.domain1\.ir))$ [NC]
RewriteCond %{REQUEST_URI} !^/other/
RewriteRule ^(.*)$ /other/$1 [L]

ممنون میشم راهنمایی کنید.

پاسخ دادن
رضا
آذر ۷, ۱۳۹۳ @ ۱۲:۱۹ ق.ظ

سلام و تشکر بابت مطالب مفیدتون
دوست عزیز من یه فایل ترکیبی از php و جا وا نوشتم که میره یه RSS رو میخونه و بعد با یک کد جاوا فراخانیش میکنم و نمایشش میدم

حالا مشکلم اینه که فایل php رو فقتی روی هاست بارگذاری میکنم درست اجرا نمیشه ولی توی لوکار مشکلی نداره

کلی پرس و جو کردم تا فهمیدم باید سطح دسترسی اون فایل php رو برای هاست ها باز باشه و این کار رو باید در فایل htaccess انجام داد .

با توجه به دانش شما در این زمینه اگر امکانش هست به بنده کمک کنید . با سپاس و تشکر

پاسخ دادن
    Saeed Moqadam
    آذر ۲۴, ۱۳۹۳ @ ۹:۱۳ ب.ظ

    سلام و متشکر
    اینکه کار نمیکنه روی هاست ممکنه دلایل زیادی داشته باشه. شاید ماژول های مورد نظر شما روی هاستتون فعال نیست ، شاید اصلا خطای جاوااسکریپتی داری
    تا کدها دیده نشه و (پسندیده نشه 😀 ) بررسی نشه نمیشه چیزی گفت.

    پاسخ دادن
فرزاد
دی ۸, ۱۳۹۳ @ ۱۱:۴۵ ب.ظ

با سلام
سوال مهم داشتم.
برای جلوگیری از سرقت پهنای باند و لینها داخل htaccess کدی را قرار میدهیم که مثلا عکس ها و فایل های دیگر PNG MP3 JPG و غیره در دیگر سایت ها دیده نشوند. HOTLINKS
این برای دومین مثلا domain.com جواب میده.
سوال من اینه که برای subdomain باید چیکار کرد. مثلا media.domain.com
چگونه فایل هایی که در media.domain.com هست را هم این چنین کنم. ممنون میشم کدش را به شکل صحیح واسم اینجا بنویسید.
با تشکر

پاسخ دادن
    Saeed Moqadam
    دی ۹, ۱۳۹۳ @ ۱۱:۲۳ ب.ظ

    سلام
    ببینید وقتی یه ساب دومین ایجاد میکینید در واقع یه پوشه به همون نام توی سرور ایجاد میشه. حالا کدهایی که دارید رو برید توی همون پوشه ی مربوط به ساب دومین بذارید.

    پاسخ دادن
      فرزاد
      دی ۱۰, ۱۳۹۳ @ ۵:۵۰ ب.ظ

      ممنون جناب مقدم
      اگر کد را در پوشه مربوط ساب دومین بزارم مشکلی برای لود فایل ها در دومین اصلی ایجاد نمیکنه؟
      اگر لطف لطف کنید نمئنه کدی را اینجا بذارید ممنون میشم. تشکر

      پاسخ دادن
تیر ۲۷, ۱۳۹۴ @ ۱۲:۰۴ ب.ظ

دادش حل شد . مشکل توی آدرس دهی من بود و توی هد باید تگ بیس میزدم که درست شد.
ولی یه سوال اینکه آخر دستورات [NC] یا مثلا [L] یا جلوی بعضی دستورات !-f میزنید یا [QS] یعنی چی اگه میشه با مثال بیان نمایید باز هم تشکر.

پاسخ دادن
سعید
آذر ۹, ۱۳۹۴ @ ۸:۳۶ ق.ظ

سلام خسته نباشید
هر چند وقت یک بار ( معمولا” ماهی یک بار) سایت من به مشکل می خوره موقع باز کردن سایت کاربرها پیغام نصب ورد پرس می بینن ( منظورم همون صفحه اول برای انتخاب زبانه که برای شروع هر سایتی باید انتخاب کنیم) هر بار که با هاستینگ تماس می گیرم مشکل را حل می کنن می گن فایل htaccess را reset کردن درست شده این مشکلش از چی می تونه باشه؟ چطوری می شه یک بابر بر ای همیشه این مشکل را حل کرد؟چون من تمام پلاگین های امنیتی که فایل htaccess را دستکاری می کنن غیر فعال کردم ولی باز هم این مشکل هست

پاسخ دادن
فروردین ۸, ۱۳۹۵ @ ۱۰:۲۸ ق.ظ

سلام آقا سعید عذر میخوام میشه کمکم کنید من یه سایت دانلود فیلم دارم و میخوام دسترسی به فیلم ها رو محدود کنم از کدهای زیر هم اتفاده کردم ولی متاسفانه فقط پوشه ها رو قفل میکنه و هنگام وارد شدن به پوشه ها یوزر و پسورد میخواد ولی وقتی آدرس فایلی رو که تو همون پوشه ها هست میزنی راحت دانلود میشه و یوزر پس نمیخواد این هم کدهایی رو که استفاده کردم
AuthName “Restricted Area”
AuthType Basic
AuthUserFile /home/admin/domains/tanzdl.ir/public_html/dl/dl/.htpasswd
AuthGroupFile /dev/null
require valid-user
از اینم استفاده کردم نشد

AuthUserFile /home/admin/domains/tanzdl.ir/public_html/dl/dl/.htpasswd
AuthName EnterPassword
AuthType Basic
require valid-user

order allow,deny
deny from all

پاسخ دادن
    Saeed Moqadam
    فروردین ۱۷, ۱۳۹۵ @ ۱:۳۶ ب.ظ

    سلام
    برای محدود کردن فایلها باید کد بالا رو در تگ فایل بذاری :‌

    <Files a.avi>
    AuthUserFile /home/admin/domains/tanzdl.ir/public_html/dl/dl/.htpasswd
    AuthName EnterPassword
    AuthType Basic
    require valid-user
    </File>
    
    پاسخ دادن
فروردین ۳۰, ۱۳۹۵ @ ۴:۱۲ ب.ظ

سلام بزرگوار
من آشنایی با اینکار ندارم و برای ساختن فایل htaccess مشکل دارم و نمیدونم اصلا چطوری فایلش رو توی wp-admin بذارم
ممنون میشم کمک کنین

پاسخ دادن
پیمان
اردیبهشت ۱۲, ۱۳۹۵ @ ۸:۵۵ ب.ظ

سلام ضمن خسته نباشید ببخشید جدیدا چند روزی هست در روت سایت من دوتا فایل htaccess وجود داره قبلا یکی بود مشکل چی میتونه باشه ممنون میشم جواب بدید ضروریه…

پاسخ دادن
    سعید
    اردیبهشت ۱۳, ۱۳۹۵ @ ۱۱:۲۹ ق.ظ

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

    پاسخ دادن
      پیمان
      اردیبهشت ۱۳, ۱۳۹۵ @ ۳:۵۲ ب.ظ

      بله ممنون مرسی حل شد آقا سعید یه سوالی دیگه هم داشتم من میخوام نقشه سایت رو ایجاد کنم برای جوملا با کامپوننت های متفاوتی وجود داره من xmap رو انتخاب میکنم و نقشه سایتم رو به خوبی ایجاد میکنم ولی در روت سایتم فایل sitemap.xml وجود نداره خواستم بدونم این فایل رو من از کجا باید ایجاد بکنم و مطالب جدید بصورت اتوماتیک از طریق کامپوننت xmap به فایل sitemap.xml فرستاده بشه

      پاسخ دادن
        سعید
        اردیبهشت ۱۵, ۱۳۹۵ @ ۱۱:۱۶ ب.ظ

        سلام خواهش میکنم
        متاسفانه من با جوملا کار نکردم و نمیدونم مشکل از کجا میتونه باشه. مطمئنن دوستانی که جوملا کار هستن بهتر میتونن راهنماییتون کنند.
        موفق باشید

        پاسخ دادن
پیمان
اردیبهشت ۱۳, ۱۳۹۵ @ ۳:۴۸ ب.ظ

بله ممنون مرسی حل شد آقا سعید یه سوالی دیگه هم داشتم من میخوام نقشه سایت رو ایجاد کنم برای جوملا با کامپوننت های متفاوتی وجود داره من xmap رو انتخاب میکنم و نقشه سایتم رو به خوبی ایجاد میکنم ولی در روت سایتم فایل sitemap.xml وجود نداره خواستم بدونم این فایل رو من از کجا باید ایجاد بکنم و مطالب جدید بصورت اتوماتیک از طریق کامپوننت xmap به فایل sitemap.xml فرستاده بشه

پاسخ دادن
خرداد ۸, ۱۳۹۵ @ ۶:۱۷ ب.ظ

با سلام سوالی برام پیش اومده
من یه سری فایل دارم که از چند پوشه تو در تو خونده میشن و نحوه نمایش ادرس من هم این شکلی میشه مثلا
http://mysite.ir/folder1/folder2/folder3
در روت هاست مجبورا صفحات لاگین رو گزاشتم که با لاگین کردن به مسیر بالا هدایت میشن و عملا همه کارها در مسیر بالا انجام میشه (نکته اینکه مجبورا این کارو کردم)
آیا راه حلی با htaccess است که ادرس اختصاصی نشون بده؟
مثلا http://mysite.ir/folder3
؟؟؟؟
اگه راه حلی هست کمکم کنید
ممنون

پاسخ دادن

پاسخ دهید

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


*