نمایش نتایج: از شماره 1 تا 10 , از مجموع 14

موضوع: کمک برای نوشتن یک خط دستور htaccess

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن iroo آواتار ها
    تاریخ عضویت
    Apr 2015
    نوشته ها
    561
    تشکر تشکر کرده 
    1,482
    تشکر تشکر شده 
    211
    تشکر شده در
    169 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    نقل قول نوشته اصلی توسط AtrafNet نمایش پست ها
    من راه با htaccess. رو بلد نیستم اما یه راه ساده با خود php هستش که اونم گرفتن آدرس Request و جدا کردن متن بعد از هر اسلش ( / ) در یه array هستش اینطوری:

    کد PHP:
    <?php
    $url 
    explode('/'$_SERVER['REQUEST_URI']);
    print_r($url);
    الان خروجی دستور بالا برای شما باید یه چیزی مثل این باشه:

    کد:
    Array ( [0] => [1] => Product [2] => DKP-147243 [3] => TP-LINK-Neffos-C5 )
    که همونطور که می بینید بر اساس یه عدد میشه به هر متن داخل URL دسترسی داشت مثلاً برای فهمیدن نام محصول می تونیم از کد زیر استفاده کنیم:

    کد PHP:
    echo $url[3]; 
    اما خب این روش شاید در موارد کوچک به کار بیاد ولی در موارد بزرگتر یکم غیر استاندارد به نظر میاد

    توابع استفاده شده یکی explode برای تقسیم یک رشته بر اساس کاراکتری خاص به یک آرایه هست: http://php.net/manual/en/function.explode.php
    یکی هم متغیر سراسری SERVER که اطلاعات خیلی بیشتری به جز همین REQUEST_URI میشه ازش گرفت که تو این لینک نوشته: http://php.net/manual/en/reserved.variables.server.php

    سلام
    والله آدرس های من اصلا ساختار منظم و مرتبی ندارن و از طرفی هم ثابت نیستند شاید 100 مدل آدرس دهی باشه

    تنها کاری که میخوام بکنم اینه که یوزر هر آدرسی که دلش میخواد بده، هر آدرسی.... مثلا
    exp.com/asdasd
    exp.com/sdfsa/asdaws/afwew/34545
    exp.com/1240*-/w454
    exp.com/فارسی

    حالا کاری که من میخوام این هست، آدرس یوزر رو بگیره (البته به جز اسم دامنه) بعدش بذاره توی یه متغییر
    حالا ما باید توی htaccess اینو پیاده کنیم

    ولی بلد نیستم
    انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

  2. #2
    عضو انجمن AtrafNet آواتار ها
    تاریخ عضویت
    Nov 2016
    نوشته ها
    259
    تشکر تشکر کرده 
    2,584
    تشکر تشکر شده 
    729
    تشکر شده در
    417 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    نقل قول نوشته اصلی توسط iroo نمایش پست ها
    سلام
    والله آدرس های من اصلا ساختار منظم و مرتبی ندارن و از طرفی هم ثابت نیستند شاید 100 مدل آدرس دهی باشه

    تنها کاری که میخوام بکنم اینه که یوزر هر آدرسی که دلش میخواد بده، هر آدرسی.... مثلا
    exp.com/asdasd
    exp.com/sdfsa/asdaws/afwew/34545
    exp.com/1240*-/w454
    exp.com/فارسی

    حالا کاری که من میخوام این هست، آدرس یوزر رو بگیره (البته به جز اسم دامنه) بعدش بذاره توی یه متغییر
    حالا ما باید توی htaccess اینو پیاده کنیم

    ولی بلد نیستم
    ببینید اگه فقط مشکل گرفتن هر آدرس مختلفی هست که با همین روشی که گفتم میشه فقط یادم رفت بگم همین روشی که گفتم هم نیاز به کد htaccess. شبیه کد htaccess. وردپرس داره که تمامی Request ها رو به فایل php شما بده و شما پردازش کنی و بر اساس اون URL محتوا رو نشون بدی کاری که وردپرس دقیق انجام میده و تمامی Request ها رو به فایل index.php میده.

    وردپرس برای این کار از این کد در فایل htaccess. استفاده میکنه که من خودم به شخصه همینو تو خیلی از پروژه های شخصی خودم هم کپی کردم و براحتی کار کرده

    کد:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    اینو وقتی تو فایل htaccess. بذارید دیگه هر چی کاربر تو آدرس بنویسه میره به همون فایلی که در خط یکی مونده به آخر این کد اشاره شده اما این کد URL رو در یه Query String قرار نمیده که بتونید بر اساس متد GET بگیریدشون به همین دلیل باید با روشی که بالا گفتم یعنی تابع explode و آیتم REQUEST_URI داخل آرایه سراسری SERVER آدرسی که کاربر بعد از دامنه شما نوشته رو پیدا کنید.البته اگر این آدرس رو کامل و بدون نیاز به تقسیم بر اساس هر اسلش داشته باشید می تونید براحتی تابع explode رو حذف کنید و فقط از آیتم REQUEST_URI داخل آرایه SERVER استفاده کنید.
    ویرایش توسط AtrafNet : January 17th, 2017 در ساعت 12:30

  3. تعداد تشکر ها از AtrafNet به دلیل پست مفید


  4. #3
    عضو انجمن iroo آواتار ها
    تاریخ عضویت
    Apr 2015
    نوشته ها
    561
    تشکر تشکر کرده 
    1,482
    تشکر تشکر شده 
    211
    تشکر شده در
    169 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    نقل قول نوشته اصلی توسط AtrafNet نمایش پست ها
    ببینید اگه فقط مشکل گرفتن هر آدرس مختلفی هست که با همین روشی که گفتم میشه فقط یادم رفت بگم همین روشی که گفتم هم نیاز به کد htaccess. شبیه کد htaccess. وردپرس داره که تمامی Request ها رو به فایل php شما بده و شما پردازش کنی و بر اساس اون URL محتوا رو نشون بدی کاری که وردپرس دقیق انجام میده و تمامی Request ها رو به فایل index.php میده.

    وردپرس برای این کار از این کد در فایل htaccess. استفاده میکنه که من خودم به شخصه همینو تو خیلی از پروژه های شخصی خودم هم کپی کردم و براحتی کار کرده

    کد:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    اینو وقتی تو فایل htaccess. بذارید دیگه هر چی کاربر تو آدرس بنویسه میره به همون فایلی که در خط یکی مونده به آخر این کد اشاره شده اما این کد URL رو در یه Query String قرار نمیده که بتونید بر اساس متد GET بگیریدشون به همین دلیل باید با روشی که بالا گفتم یعنی تابع explode و آیتم REQUEST_URI داخل آرایه سراسری SERVER آدرسی که کاربر بعد از دامنه شما نوشته رو پیدا کنید.البته اگر این آدرس رو کامل و بدون نیاز به تقسیم بر اساس هر اسلش داشته باشید می تونید براحتی تابع explode رو حذف کنید و فقط از آیتم REQUEST_URI داخل آرایه SERVER استفاده کنید.

    جالبه
    بازم خطای 404 میده

    فایل htaccess همونی هست که شما گفتی فقط فایل ایندکس رو زدم abc
    توفایل abc.php هم این دستور رو نوشتم
    echo $_SERVER['REQUEST_URI'];

    - - - Updated - - -

    میشه شما یه نمونه فایل بدین ؟
    انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

  5. #4
    عضو انجمن AtrafNet آواتار ها
    تاریخ عضویت
    Nov 2016
    نوشته ها
    259
    تشکر تشکر کرده 
    2,584
    تشکر تشکر شده 
    729
    تشکر شده در
    417 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    نقل قول نوشته اصلی توسط iroo نمایش پست ها
    جالبه
    بازم خطای 404 میده

    فایل htaccess همونی هست که شما گفتی فقط فایل ایندکس رو زدم abc
    توفایل abc.php هم این دستور رو نوشتم
    echo $_SERVER['REQUEST_URI'];

    - - - Updated - - -

    میشه شما یه نمونه فایل بدین ؟

    وب سرور هاست شما چیه؟ میگم اگه NginX باشه کار نمیکنه.
    بعدش باید mod_rewrite هم روی آپاچی فعال باشه البته LiteSpeed هم سازگاره.

    این مورد رو من بار ها تست کردم و مشکلی نبوده و مثال خاصی هم نیاز نداره همینی که شما انجام دادید هم باید کار کنه فقط فایل htaccess. باید دقیق کنار فایل php مورد نظر باشه تا کار کنه.

  6. #5
    عضو انجمن iroo آواتار ها
    تاریخ عضویت
    Apr 2015
    نوشته ها
    561
    تشکر تشکر کرده 
    1,482
    تشکر تشکر شده 
    211
    تشکر شده در
    169 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    نقل قول نوشته اصلی توسط AtrafNet نمایش پست ها
    وب سرور هاست شما چیه؟ میگم اگه NginX باشه کار نمیکنه.
    بعدش باید mod_rewrite هم روی آپاچی فعال باشه البته LiteSpeed هم سازگاره.

    این مورد رو من بار ها تست کردم و مشکلی نبوده و مثال خاصی هم نیاز نداره همینی که شما انجام دادید هم باید کار کنه فقط فایل htaccess. باید دقیق کنار فایل php مورد نظر باشه تا کار کنه.
    LiteSpeed Web Server

    والله مشکلی با وردپرس روی همین سایت ندارم
    من یه پوشه درست کردم فایل ها تو اون پوشه هست
    انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

  7. #6
    عضو انجمن AtrafNet آواتار ها
    تاریخ عضویت
    Nov 2016
    نوشته ها
    259
    تشکر تشکر کرده 
    2,584
    تشکر تشکر شده 
    729
    تشکر شده در
    417 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    نقل قول نوشته اصلی توسط iroo نمایش پست ها
    LiteSpeed Web Server

    والله مشکلی با وردپرس روی همین سایت ندارم
    من یه پوشه درست کردم فایل ها تو اون پوشه هست
    شما اسم فایل رو abc.php گذاشتید تو این کد htaccess. هر دو جا رو ویرایش کردی؟

    کد:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^abc\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /abc.php [L]
    </IfModule>
    بعدش خوب شد گفتید که تو پوشه همین بهتره که تو پوشه باشه و فایل htaccess. این با فایل htaccess. وردپرس یا کلاً بخش های دیگه سایت جدا باشه.

    - - - Updated - - -

    البته الان متوجه شدم چون فایل شما تو پوشه است فکر کنم خط سوم این کد یعنی RewriteBase / رو باید حذف کنید که منم از کد بالا حذف کردم.
    ویرایش توسط AtrafNet : January 17th, 2017 در ساعت 13:00

  8. تعداد تشکر ها از AtrafNet به دلیل پست مفید


  9. #7
    عضو انجمن iroo آواتار ها
    تاریخ عضویت
    Apr 2015
    نوشته ها
    561
    تشکر تشکر کرده 
    1,482
    تشکر تشکر شده 
    211
    تشکر شده در
    169 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    آقا روی دامنه دیگه و ایندکسش درست کار کردم

    حله ، فدایی داری به مولا دست خوش
    انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

  10. تعداد تشکر ها از iroo به دلیل پست مفید


  11. #8
    عضو انجمن iroo آواتار ها
    تاریخ عضویت
    Apr 2015
    نوشته ها
    561
    تشکر تشکر کرده 
    1,482
    تشکر تشکر شده 
    211
    تشکر شده در
    169 پست

    پیش فرض پاسخ : کمک برای نوشتن یک خط دستور htaccess

    ممنون بابت دوستان برای راهنمائی

    حالا میخوام به کد بالا یک موردی رو اضافه کنم

    مثلا یه سابدامینی هم باشه مثل dl

    dl.exp.com/asdad/asdad/asasd.zip

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

    dl.exp22222.com/asdad/asdad/asasd.zip

    تو فایل htaccess باید اجرا بشه، ممنون میشم کمکم کنید
    انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 1
    آخرين نوشته: May 9th, 2017, 13:51
  2. دستور صحیح بستن رنج ip در htaccess
    توسط joomla2 در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: June 10th, 2016, 17:43
  3. آموزش دستورات htaccess
    توسط liveserver در انجمن مباحث و منابع آموزشی
    پاسخ ها: 1
    آخرين نوشته: May 15th, 2013, 21:48
  4. آموزش دستورات htaccess
    توسط makranvps.ir در انجمن مباحث و منایع آموزشی
    پاسخ ها: 0
    آخرين نوشته: December 11th, 2012, 15:30
  5. آموزش دستورات htaccess
    توسط ShahreServer در انجمن مباحث و منابع آموزشی
    پاسخ ها: 1
    آخرين نوشته: August 19th, 2010, 02:18

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •