صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 14

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

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

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

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

    من نیاز به یک راهنمائی دارم

    فرض کنیم آدرس من بدین صورت هست

    https://exp.com/Product/DKP-147243/T...A7%D8%B1%D8%AA

    حالا یا هر آدرس دیگه ای
    من میخوام به جز آدرس سایتم بقیه آدرس گذاشته بشه توی یک متغییر و ارجاع داده بشه به یک فایل

    مثلا:
    https://exp.com/Product/DKP-147243/TP-LINK-Neffos-C5
    وقتی کاربر میاد به این آدرس بره فایل ABC.php رو باز کنه و مقدار (قرمز و بولد شده) رو بذاره توی متغییر H


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

  2. # ADS




     

  3. #2
    عضو انجمن
    تاریخ عضویت
    Aug 2012
    نوشته ها
    108
    تشکر تشکر کرده 
    32
    تشکر تشکر شده 
    105
    تشکر شده در
    83 پست

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

    سلام
    بررسی کنید :
    کد HTML:
    RewriteEngine On
    RewriteRule ^/([^/]*)$ /ABC.php?h=$1 [L]
    فروش اسکریپت درگاه واسطه عمومی وشخصی جهت دریافت دمو پیام بدید.
    آیدی تلگرام : gate_pay
    اسکریپت درگاه واسطه عمومی و شخصی

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


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

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

    نقل قول نوشته اصلی توسط dow نمایش پست ها
    سلام
    بررسی کنید :
    کد HTML:
    RewriteEngine On
    RewriteRule ^/([^/]*)$ /ABC.php?h=$1 [L]
    نه داداش کار نکرد

    من تو فایل abc.php مقدای h رو به روش زیر میگیرم
    $t=POST_GET['h'];

    اصلا فک کنم به فایل abc وصل نشده، چون Echo هم زده بودم مقدار دریافتی رو نشون بده، خطای 404 میده
    انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

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

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

    نقل قول نوشته اصلی توسط iroo نمایش پست ها
    نه داداش کار نکرد

    من تو فایل abc.php مقدای h رو به روش زیر میگیرم
    $t=POST_GET['h'];

    اصلا فک کنم به فایل abc وصل نشده، چون Echo هم زده بودم مقدار دریافتی رو نشون بده، خطای 404 میده
    جسارتاً POST_GET ندارید یا POST باید باشه یا GET.
    شما باید اینطوری اطلاعات رو بگیری:

    کد PHP:
    $t $_GET['h']; 

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


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

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

    نقل قول نوشته اصلی توسط AtrafNet نمایش پست ها
    جسارتاً POST_GET ندارید یا POST باید باشه یا GET.
    شما باید اینطوری اطلاعات رو بگیری:

    کد PHP:
    $t $_GET['h']; 
    سلام
    اره اره، اول صبحی گیج میزنم
    درستش کردم

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

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

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

    نقل قول نوشته اصلی توسط iroo نمایش پست ها
    سلام
    اره اره، اول صبحی گیج میزنم
    درستش کردم

    خطای 404 میده
    من راه با 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

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


  11. #7
    عضو انجمن 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)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

  12. #8
    عضو انجمن 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

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


  14. #9
    عضو انجمن 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)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

  15. #10
    عضو انجمن 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 مورد نظر باشه تا کار کنه.

صفحه 1 از 2 12 آخرینآخرین

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

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

در حال حاضر 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

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

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