رفتن به مطلب

مشکل روش ساخت لینک


armanaria111

پست های پیشنهاد شده

سلام دوستان میخواهم یک لینک درست کنم مثل این لینک ها تنها برای اعضای سایت قابل نمایش است.
که اگربا گوشی اندرویید باز شد لینک گوگل پلی داده بشه اگر با آیفون لینک اپ استور باز بشه 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

درود؛

از کتابخانه Mobile Detect می تونید استفاده کنید:

  • لینک ها تنها برای اعضای سایت قابل نمایش است.

فایل پیوست رو دانلود کنید و داخل پوشه موردنظرتون آپلودش کنید. یعنی همین پوشه app که میگید.

لینک ها تنها برای اعضای سایت قابل نمایش است.

بعد یک فایل برای نسخه های غیر از اندروید و iOS بسازید. درجیحا این فایل اسمش index.php باشه. از HTML استفاده نکنید برای پسوند نام. صفحه موردنظر رو که ساختید، این کد رو در اول محتویات این فایل قرار بدید:

<?php 
require_once 'mobiledetect.php';

// ریدایرکت در سیستم عامل آی او اس
if( $detect->isiOS() ){
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: https://20script.ir/ios");
	exit();
}
 
 // ریدایرکت در سیستم عامل اندروید
elseif( $detect->isAndroidOS() ){
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: https://20script.ir/android");
	exit();
}
else {}
?>

اگه فایل پیوست رو درست قرار داده باشید و کد بالا بتونه به فایل دسترسی پیدا کنه، این کدهایی که نوشتم کار میکنه. در واقع موقع باز کردن آدرس چک می کنه اگه سیستم عامل بازدیدکننده اندروید باشه یا iOS به لینک های تعیین شده ریدایرکت میشن و اگه غیر از این دو سیستم عامل باشن، محتویات همون صفحه خودتون برای بازدیدکننده باز میشه.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

لینکی که دادید خطای 500 داره اصلا؛

اگر مقدور هست دسترسی هاست رو بفرستید پیام خصوصی

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

یا اگر دسترسی نمی تونید بفرستید، محتویات فایل Error_log داخل پوشه app رو پیوست کنید. به همراه فایل index.php

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

در در ۱۴۰۰/۶/۳ در 14:35، Masih گفته است :

لینکی که دادید خطای 500 داره اصلا؛

اگر مقدور هست دسترسی هاست رو بفرستید پیام خصوصی

نه متاسفانه

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

در هم اکنون، armanaria111 گفته است :

نه متاسفانه

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

موفق باشید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

این کد رو با محتویات فایل index.php جایگزین کنید:

<?php 
require_once 'mobiledetect.php';
$detect = new Mobile_Detect;
$detect->isMobile();
$detect->isTablet();

// Magic methods.
$detect->isIphone();
$detect->isSamsung();

// Alternative to magic methods.
$detect->is('iphone');

// Find the version of component.
$detect->version('Android');

// Additional match method.
$detect->match('regex.*here');

// Browser grade method.
$detect->mobileGrade();

// Batch methods.
$detect->setUserAgent($userAgent);
$detect->setHttpHeaders($httpHeaders);

if( $detect->isiOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamios");
exit();
}
elseif( $detect->isAndroidOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamapp");
exit();
}
else {echo "Desktop Version";}
?>

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

زنده باشید؛

فقط پیشنهاد می کنم برای ریدایرکت سریع کاربر به لینک نهایی، لینک مستقیم همون اپ استورها رو توی کد وارد کنید. خود کد ریدایرکت هست، از کوتاه کننده لینک که باز ریدایرکت می کنه هم استفاده کردید. بعضی مرورگرها دو ریدایرکت به بالا رو بعضی وقتا اجرا نمی کنند و خطای Too many redirects رو نشون میدن که می تونه تعدادی از کاربران رو از رسیدن به لینک نهایی اپ استور منع کنه.

موفق باشید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

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

لینک ها تنها برای اعضای سایت قابل نمایش است.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

در 2 ساعت قبل، armanaria111 گفته است :

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

لینک ها تنها برای اعضای سایت قابل نمایش است.

چک کردم لینک رو با دسکتاپ به گوگل پلی ریدایرکت میشه.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

لینک ها تنها برای اعضای سایت قابل نمایش است.
لینک من به گوگل پلی نمیره
انار نمونه هست که من نشان دادم

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

همون کدی که بهتون دادم رو استفاده کنید.

<?php 
require_once 'mobiledetect.php';
$detect = new Mobile_Detect;
$detect->isMobile();
$detect->isTablet();

// Magic methods.
$detect->isIphone();
$detect->isSamsung();

// Alternative to magic methods.
$detect->is('iphone');

// Find the version of component.
$detect->version('Android');

// Additional match method.
$detect->match('regex.*here');

// Browser grade method.
$detect->mobileGrade();

// Batch methods.
$detect->setUserAgent($userAgent);
$detect->setHttpHeaders($httpHeaders);

if( $detect->isiOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamios");
exit();
}
elseif( $detect->isAndroidOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamapp");
exit();
}
else {echo "Desktop Version";}
?>

توی این کد اندروید و iOS به صورت تفکیک شده هست و به خوبی کار میکنه. (برای دستور شرطی اندروید رو شخصا روی سایت شخصی امتحان کردم براتون کدی که دادم کار میکنه.

اگر میخواهید در حالت دسکتاپ هم به نسخه گوگل پلی ریدایرکت بشه، این کد رو باید استفاده کنید:

<?php 
require_once 'mobiledetect.php';
$detect = new Mobile_Detect;
$detect->isMobile();
$detect->isTablet();

// Magic methods.
$detect->isIphone();
$detect->isSamsung();

// Alternative to magic methods.
$detect->is('iphone');

// Find the version of component.
$detect->version('Android');

// Additional match method.
$detect->match('regex.*here');

// Browser grade method.
$detect->mobileGrade();

// Batch methods.
$detect->setUserAgent($userAgent);
$detect->setHttpHeaders($httpHeaders);

if( $detect->isiOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamios");
exit();
}
elseif( $detect->isAndroidOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamapp");
exit();
}
else {
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamapp");
exit();
}
?>

اگر برای صفحه app یک طراحی خاصی انجام دادید و نمی خواهید ریدایرکتی در نسخه دسکتاپ انجام بشه و همون طرح باز بشه، کافیه اون دستور else رو خالی کنید و کد رو ابتدای فایل طراحی موردنظرتون قرار بدید. مثال:

<?php 
require_once 'mobiledetect.php';
$detect = new Mobile_Detect;
$detect->isMobile();
$detect->isTablet();

// Magic methods.
$detect->isIphone();
$detect->isSamsung();

// Alternative to magic methods.
$detect->is('iphone');

// Find the version of component.
$detect->version('Android');

// Additional match method.
$detect->match('regex.*here');

// Browser grade method.
$detect->mobileGrade();

// Batch methods.
$detect->setUserAgent($userAgent);
$detect->setHttpHeaders($httpHeaders);

if( $detect->isiOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamios");
exit();
}
elseif( $detect->isAndroidOS() ){
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://bit.ly/lilaamapp");
exit();
}
else {
}
?>

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...