PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نیاز مند کد ریدالیکت !



Mr.Pouria
July 19th, 2017, 00:00
سلام .

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

برای مثال وقتی کاربری ایرانی ادرس : www.site.com را وارد میکند سایت براش باز بشه بدون اینکه تغیری بکنه اما در مقابل فردی از خارج از ایران اگر ادرس www.site.com را وارد کرد به ادرس www.site.com/en انتقال پیدا بکنه ...

ممنون میشم در صورت امکان تکه کد را برام ارسال کنید ...

سیستم سایت WHMcs هست

AtrafNet
July 19th, 2017, 08:43
سلام
چند تا گزینه پیشنهاد میدم ببینید کدوم به نظرتون بهتره:


گزینه اول: ریدایرکت بر اساس زبان پیش فرض سیستم که براحتی با این کد در فایل htaccess. انجام میشه:


RewriteEngine On
RewriteCond %{HTTP:Accept-language} nl [NC]
RewriteRule ^$ /nl [L,R=301]

در کد بالا منظور از nl کشور هلند (Netherland) هستش که باید با شناسه دو حرفی کشور مورد نظر تغییر کنه.
با توجه به اینکه ما ایرانی ها هیچ وقت زبان پیش فرض مرورگر وب خودمون رو فارسی نمیکنیم که مثلاً گوگل فارسی برامون باز بشه این ممکن مشکل زا بشه و مثلاً از یه ایرانی زبان en شناسایی بشه.


گزینه دوم: نصب ماژول آپاچی وب سایت IP2Location و براحتی استفاده از کد زیر:



RewriteEngine On
RewriteCond %{ENV:IP2LOCATION_COUNTRY_SHORT} ^NL$
RewriteRule ^(.*)$ http://www.google.com [L]



آموزش نصب این ماژول در آپاچی: http://www.ip2location.com/developers/apache
همچنین ابزاری آماده برای ایجاد کدی مثل کد بالا بر اساس کشور های مختلف: http://www.ip2location.com/free/visitor-redirection


گزینه سوم: استفاده از زبان برنامه نویسی فعلی سایت برای فیـلتر آی پی بازدیدکننده ها:

همین ابزار http://www.ip2location.com/free/visitor-redirection که در بالا معرفی کردم امکان استفاده در PHP و ASP.Net هم داره و میشه براحتی کتابخانه مورد نیاز این سایت رو دانلود و در کد فراخوانی کنی بعدش با یک شرط بررسی کنی ببینی آیا بازدیدکننده از فلان کشور هست یا نه.
نمونه کدی که این ابزار میده برای فـیلتر همون کشور هلند:



<?php
require_once 'IP2Location.php';


$loc = new IP2Location('databases/IP-COUNTRY.BIN', IP2Location::FILE_IO);
$record = $loc->lookup($_SERVER['REMOTE_ADDR'], IP2Location::ALL);


if($record == 'NL') {
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.google.com');
exit;
}
?>