-
July 19th, 2017, 00:00
#1
نیاز مند کد ریدالیکت !
سلام .
من به یه کد ریدالیکت نیاز داشتم که بتونم با اون یک سری از کشور هارا بعد از ورود به سایت مستقیم به ادرس دیگه ای ریدالیکت کنم !
برای مثال وقتی کاربری ایرانی ادرس : www.site.com را وارد میکند سایت براش باز بشه بدون اینکه تغیری بکنه اما در مقابل فردی از خارج از ایران اگر ادرس www.site.com را وارد کرد به ادرس www.site.com/en انتقال پیدا بکنه ...
ممنون میشم در صورت امکان تکه کد را برام ارسال کنید ...
سیستم سایت WHMcs هست
-
تعداد تشکر ها ازMr.Pouria به دلیل پست مفید
-
July 19th, 2017 00:00
# ADS
-
July 19th, 2017, 08:43
#2
عضو انجمن
پاسخ : نیاز مند کد ریدالیکت !
سلام
چند تا گزینه پیشنهاد میدم ببینید کدوم به نظرتون بهتره:
گزینه اول: ریدایرکت بر اساس زبان پیش فرض سیستم که براحتی با این کد در فایل 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;
}
?>
-
تعداد تشکر ها ازAtrafNet به دلیل پست مفید