آژانس هواپیماییexchanging

انتقال آدرس با htaccess

شروع موضوع توسط makintach ‏4 می 2010 در انجمن PHP

  1. makintach

    makintach Registered User

    تاریخ عضویت:
    ‏11 فوریه 2006
    نوشته ها:
    72
    تشکر شده:
    0
    من ميخوام لينك زير رو كه آي دي اون متغيره به لينك بعد اون انتقال بدم
    کد:
    کد:
    http://shop.mydomain.com/product_info.php?products_id=200
    
    به
    
    http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=200
    
    

    از چه كدي بايستي استفاده كنم
    نمي خوام بقيه آدرس ها غير از اين انتقال پيدا كنند
     
  2. shour

    shour کاربر تازه وارد

    تاریخ عضویت:
    ‏2 می 2010
    نوشته ها:
    5
    تشکر شده:
    0
    خوب پس چه اصراری دارید از htaccess استفاده کنید؟ کار mod_rewrite ایجاد url های تمیزتر و حذف همین علامات سوال هست!
    میتوانید از هدر ها استفاده کنید.لطفا توضیحات بیشتری ارائه کنید
     
  3. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,350
    تشکر شده:
    1,322
    محل سکونت:
    یه خورده اونورتر
    کد:
     
    RewriteEngine on
    RewriteRule http://shop.mydomain.com/product_info.php?products_id=([0-9]+)$ http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=$1
     
    
     
  4. makintach

    makintach Registered User

    تاریخ عضویت:
    ‏11 فوریه 2006
    نوشته ها:
    72
    تشکر شده:
    0
    البته خوبيه htaccess اينه كه در خود برنامه تغييري نميديم
    و اين پست آخري هم جواب نداد
     
  5. shour

    shour کاربر تازه وارد

    تاریخ عضویت:
    ‏2 می 2010
    نوشته ها:
    5
    تشکر شده:
    0
    پست #3 نباید هم کار کند،آپاچی ارجاع به خارج را برای جلوگیری از حملات با استفاده از سرویس آپاچی محدود کرده.
    شما توضیح بیشتری ارائه نمیکنید ولی میشود از یه راه حلی استفاده کرد.

    درصفحه ی مربوطه که باید ارجاع صورت گیرد یعنی:
    کد:
    http://shop.mydomain.com/product_info.php
    متغیر products_id را از url بگیرید:
    PHP:
    $myid      $HTTP_GET_VARS['products_id'];
    و بعد آنرا ریدایرکت کنید با استفاده از هدرهای براوزر:
    PHP:
    header("http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=".$myid);
    و تمام!

    در کل کد شما چیزی باید شبیه این باشد (البته من کاملترش کردم):

    PHP:
    //avval motaghayyere marboote ra az url migirim:
    $myid      $HTTP_GET_VARS['products_id'];

    if (isset(
    $myid)){ //agar motaghayyer vojood dasht sepas:

      
    header("http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=".$myid);

    }
    خوشحال خواهم شد مفید واقع گردد
     
    Last edited: ‏6 می 2010
  6. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,350
    تشکر شده:
    1,322
    محل سکونت:
    یه خورده اونورتر
    کدی که دادند هم میشه. این کد هم میشه:

    کد:
     
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^shop.mydomain.com$
    RewriteCond %{QUERY_STRING} ^products_id=(.*)$ [NC]
    RewriteRule ^product_info.php$ http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=%1 [R=301,L]
     
    
    شما url اولی products_id دادی. اگر s نداره پاکش کن.
     
  7. appbannerkhuniresbanner
  8. makintach

    makintach Registered User

    تاریخ عضویت:
    ‏11 فوریه 2006
    نوشته ها:
    72
    تشکر شده:
    0
    ممنون از دوستان عزيز كه لطف كردند و جواب دادند

    اين آخري جواب داد

    فقط اين كد رو در نظر نگرفته بودم در بعضي لينك ها اين وجود داره

    cPath=
    در

    کد:
    http://shop.mydomain.com/product_info.php?cPath=1_73_105&products_id=435
    ميخوام cPath= هر چه باشه و هر مقدار باشه ناديده بگيره
    و فقط با products_id كار كنه


     
  9. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,350
    تشکر شده:
    1,322
    محل سکونت:
    یه خورده اونورتر
    کد:
     
     
     
    RewriteEngine On
     
    RewriteCond %{HTTP_HOST} ^shop.mydomain.com$
    RewriteCond %{QUERY_STRING} ^products_id=(.*)$ [NC]
    RewriteRule ^product_info.php$ http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=%1 [R=301,L]
     
    RewriteCond %{HTTP_HOST} ^shop.mydomain.com$
    RewriteCond %{QUERY_STRING} ^(.*&)products_id=(.*)$ [NC]
    RewriteRule ^product_info.php$ http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=%2 [R=301,L]
     
     
     
    
     
  10. makintach

    makintach Registered User

    تاریخ عضویت:
    ‏11 فوریه 2006
    نوشته ها:
    72
    تشکر شده:
    0
    ممنونم از زحمتي كه كشيدي
    اين هم روش خوبي بود
    ولي ميخواستم از htaccess استفاده كنم



    آفرين و سپاسگذارم
    مشكل حل شد