سلام ، خسته نباشید
من فایل go.php رو نیاز دارم
فایلی که بعضی از سایتها ازش برای لینک دادن به سایت ها یا آدرسهای دیگه استفاده میکنن
ممنون میشم یکی از آقایون مهندس این فایلو به همراه نحوه استفاده ازش برام بذاره :11:
Printable View
سلام ، خسته نباشید
من فایل go.php رو نیاز دارم
فایلی که بعضی از سایتها ازش برای لینک دادن به سایت ها یا آدرسهای دیگه استفاده میکنن
ممنون میشم یکی از آقایون مهندس این فایلو به همراه نحوه استفاده ازش برام بذاره :11:
منظورتون redirect فايل است؟؟
نقل قول:
بله ، دقیقاً
کد این کار میشه مثل کد زیر:
یعنی از طریق این فایل بشه به یه سایت دیگه لینک دادکد:http://www.address1.com/go.php?http://www.address2.com
اميدوارم منظورتون اين باشه دوست عزيز:
[PHP]<?php
function go($link){
header('Location:'.$link);
}
go("google.com");
?>[/PHP]
مرسی ، اما این کد کار نمی کنه ، چون اصلاً کدش معنایی نداره و به آدرسی که گفته شده مراجعه میکنه ! یعنی یه آدرس تو دل یک سایت ، در صورتی که باید redirect بشه
یعنی وقتی کد زیر رو وارد میکنه از آدرس 1 به آدرس 2 بره:
من یه فایل هم تو اینترنت پیدا کردم که همین فایل go.php هست ، که البته اینم کار نمی کنه ، فکر کنم یه جای کدش بد نوشته شده که کد اجرا نمیشه، اینم این کد، ببین شما میتونی مشکلشو برطرف کنیکد:http://www.address1.com/go.php?http://www.address2.com
از بقیه دوستان هم دعوت به کمک میشهکد:$url = trim($_REQUEST['url']);
if ($url)
{
if (preg_match('#(http(s?)|ftp)://(.*?)#i', $url))
{
header("Location: $url");
}
else
{
echo 'Invalid URL.';
}
}
else
{
echo 'No URL.';
}
اشکال از کدها نیست اشکال از آدرستونه!
باید برای آدرس یک متغیر در نظر بگیرید و مقدار اون متغیر رو توی توابع ریدایرکت استفاده کنید.
مثلاً آدرس رو اینطوری بنویسید:
بعد دیگه توی تابع ریدایرکت میشه با REQUEST['url']_$ آدرس جدید رو به اسکرپت دادکد:http://www.address1.com/go.php?url=http://www.address2.com
اگر بخواید بدون نوشتن اسم متغیر در آدرس این کار رو انجام بدید باید از طریق htaccess برای آدرس یک الگو تعریف کنید که آدرس رو روی یک متغیر مشخص ریرایت کنه! (یا اینکه همه کوئری استرینگ رو برای پیدا کردن یک آدرس معتبر بررسی کرد!)
ممنون از لطفتون neopersia
ولی من دقیقاً نفهمیدم شما میگی چیو باید تغییر بدم ؛ اگه ممکنه این کد رو تغییر بده و همینجا اون رو بزار
بعد آدرس رو هم باید چه جوری نوشت
در واقع میخوام وقتی به کسی لینک میدم ، به این روش تو سایت بهش لینک بدم ، که وقتی کسی روی این لینک کلیک میکنه ، یه صفحه جدید باز بشه و اون لینک(سایت) رو اونجا ببینه ، نه اینکه سایت من بسته بشه و اون لینک نمایش داده بشه
مزیت اینکار:
1- باز موندن خود سایت
2- کم نشدن رتبه سایت
ممنون میشم اینکارو انجام بدید ، چون تو این ضمینه ضعیفم ، مرسی
استفاده از ریدایرکتور اصلاً ربطی به اون چیزی که شما میخواید نداره! از این روش استفاده می کنند تا لینکهای خروجی سایت رو محدود کنند حالا چه به دلیل سئو و چه تو مملکت خودمون به دلیل جلوگیری از فــیلتر شدن اشتباهی سایت و...
اونی که شما میخواید با اضافه کردن شناسه target به لینکها از طریق HTML امکان داره:
[html]
<a href="http:\\www.address2.com" target="_blank">link face</a>
[/html]
با استفاده از php نمیشه پنجره جدید باز کرد! تنها راه ممکن استفاده از جاوا اسکرپت هست و همونی که گفتم
دست شما درد نکنه ، این مشکل برطرف شد
اما اون مشکل فایل go.php چی شد ، آیا می تونید برطرفش کنید
تو اینترنت یه سرچ بکنید ، درباره فایل go.php بحث شده
تو سایتهای مختلف برای لینک دادن از این فایل استفاده میشه ، این فایل رو میزارن تو روت سایت و بعد به همون روش go.php? به سایتی که میخوان لینک میدن
امیدوارم دقیقاً متوجه منظورم شده باشید
مرسی
من متوجه شدم شما چی میگید ولی مثل اینکه شما منظور منو متوجه نشدید!نقل قول:
من میگم وقتی که اسم متغیر رو توی آدرس ننویسید چطوری توقع دارید که توی تابع ریدایرکت بتونید با نام متغیر url آدرس رو بگیرید؟!
این آدرسی هست که من دادم:
اینم تابعی هست که خودتون دادید:کد:http://www.address1.com/go.php?url=http://www.address2.com
اون قسمت رو هم که رنگی کردم اسم متغیر هست که باید تعریف بشه و توی آدرس شما وجود نداشت:کد:$url = trim($_REQUEST['url']);
if ($url)
{
if (preg_match('#(http(s?)|ftp)://(.*?)#i', $url))
{
header("Location: $url");
}
else
{
echo 'Invalid URL.';
}
}
else
{
echo 'No URL.';
}
کد:http://www.address1.com/go.php?http://www.address2.com
ممنون از شما
neopersia من اینکاری که شما گفتید رو الان دقیق انجام دادم ، اما وارد لینک نمیشه ، (دقیقاً همینطور که گفتید عمل کردم)
خطایی که میده اینه:
$url = trim($_REQUEST['url']); if ($url) { if (preg_match('#(http(s?)|ftp)://(.*?)#i', $url)) { header("Location: $url"); } else { echo 'Invalid URL.'; } } else { echo 'No URL.'; }
ببخشید که بازم پست میدم ، ولی خوب میبخشید چون میخوام این مشکل برطرف بشه
خواهش میکنم عزیز جان من خوشحال میشم بتونم کمک کنم :31: اما این که نوشتید ارور نیست! اینطور که به نظر میرسه سرورتون از php پشتیبانی نمیکنه برای همین متن اسکرپت رو بر میگردونه یا اینکه پسوند اشتباهی برای فایل انتخاب کردید!
نه همه چی رو درست انجام دادم
سرور php رو ساپورت میکنه
پسوند رو هم درست نوشتم ، کدها مشکل داره
با اجازه!
مطمئنید که تگ پی اچ پی در فایل موجوده؟
شاید هم short tag استفاده شده!
فایل رو با یک ویرایشگر متن (مثلا notepad) باز کنید و به این صورت ویرایش کنید:
کد:<?php
$url = trim($_REQUEST['url']);
if ($url)
{
if (preg_match('#(http(s?)|ftp)://(.*?)#i', $url))
{
header("Location: $url");
}
else
{
echo 'Invalid URL.';
}
}
else
{
echo 'No URL.';
}
?>
نه مشکل از کدها نیست چون اینی که نوشتید اصلاً ارور php نیست یعنی اصلاً توسط مفسر php اجرا نشده!نقل قول:
همونطوری که Smafias گفت تنها موردی که باقی میمونه تگهای php هست!
البته اگر با نوت پد ویرایش میکنید حتماً انکودینگش رو ANSI بزارید وگرنه ریدایرکت نمیشه!
دستتون درد نکنه ، درست شد :46:
ممنون از تمام کسایی که کمک کردن ، مخصوصاً:
neopersia
smafias
بله مشکل از تگ های php بود :31:
خیلی لطف کردین و ممنون که وقت گذاشتید :20:
سلام من یک سایت میخواهم طراحی کنم .سایت تامین اجتماعی چه کاری باید انجام بدهم