برگزیده های پرشین تولز

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

makintach

Registered User
تاریخ عضویت
11 فوریه 2006
نوشته‌ها
72
لایک‌ها
0
سن
43
من ميخوام لينك زير رو كه آي دي اون متغيره به لينك بعد اون انتقال بدم
کد:
کد:
http://shop.mydomain.com/product_info.php?products_id=200

به

http://bazar.mydomain.com/index.php?dispatch=products.view&product_id=200

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

shour

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

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
کد:
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
 

makintach

Registered User
تاریخ عضویت
11 فوریه 2006
نوشته‌ها
72
لایک‌ها
0
سن
43
البته خوبيه htaccess اينه كه در خود برنامه تغييري نميديم
و اين پست آخري هم جواب نداد
 

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:

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
کدی که دادند هم میشه. این کد هم میشه:

کد:
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 نداره پاکش کن.
 

makintach

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

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

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

cPath=
در

کد:
http://shop.mydomain.com/product_info.php?cPath=1_73_105&products_id=435

ميخوام cPath= هر چه باشه و هر مقدار باشه ناديده بگيره
و فقط با products_id كار كنه


کدی که دادند هم میشه. این کد هم میشه:

کد:
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 نداره پاکش کن.
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
کد:
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]
 

makintach

Registered User
تاریخ عضویت
11 فوریه 2006
نوشته‌ها
72
لایک‌ها
0
سن
43
پست #3 نباید هم کار کند،آپاچی ارجاع به خارج را برای جلوگیری از حملات با استفاده از سرویس آپاچی محدود کرده.
شما توضیح بیشتری ارائه نمیکنید ولی میشود از یه راه حلی استفاده کرد.

......................

خوشحال خواهم شد مفید واقع گردد

ممنونم از زحمتي كه كشيدي
اين هم روش خوبي بود
ولي ميخواستم از htaccess استفاده كنم


کد:
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]


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