ThaiSEOBoard.com

ไทย เสียว บอร์ด => Tutorial (ห้ามตั้งคำถามห้องนี้) => ข้อความที่เริ่มโดย: EThaiZone ที่ 16 มกราคม 2009, 00:14:55



หัวข้อ: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: EThaiZone ที่ 16 มกราคม 2009, 00:14:55
[Background Music] Epik High - One (feat. Jisun - Loveholic)

งานทิ้งทวนครับ ก่อนเก็บตัวฝึกเขียนโปรแกรม (และเคลียร์งานให้หมด ลูกค้ารอตอนผมมือหัก)

พอดีเห็นในกระทู้นี้
http://www.thaiseoboard.com/index.php/topic,48792.0.html

คิดว่ามีอีกหลายคนคงไม่เข้าใจ และอยากทำ
ฐานะเรากลุ่มคนทำเว็บเล็กๆ ก็น่าจะสู้กับเว็บใหญ่ได้บ้าง
เพราะเว็บใหญ่ ดันเอาไปหากินกับสแปมคีย์หมดเลย
 :(

ผมคงไม่อธิบาย เพราะอธิบายไปพาลจะไม่เก็ทเอา
ผมเองไปเว็บต่างประเทศค้นหลายครั้ง บอกตามตรงไอ้ที่เขาเขียนยืดๆ เป็นอังกฤษผมไม่อ่านมันเลย
สนแต่โค้ดโปรแกรม ขอให้มีเถอะ เดี๋ยวมันก็เก็ทเอง

เป็นของเก่าที่เคยทำเล่นๆ มาก็เลยเอามาแปะให้ไปทดลองเล่นกัน
แก้ไขนิดหน่อยว่าทำไงให้เข้าใจง่ายๆ ^^"

ก็มีไฟล์สองตัวให้ไปเล่นกันนะครับ ใครยังไม่เก็ทอีก
แนะนำคืนวิธีไปแล้วเลิกเขียนโปรแกรมดีกว่า = =a

เรื่องที่อยากบอกมีแค่ว่า
ไฟล์ทั้งหมดเซฟเป็น Ascii ปกติ
จึงมีการใช้ฟังค์ชั่น tis2utf8 กับ String ที่เป็นภาษาไทยที่เขียนบนไฟล์ php โดยตรง
( Ex: $var='สวัสดี'; ) เพื่อแปลงเป็น UTF8 ให้หมด

ดังนั้นกรณีที่ใครจะเล่นบนไฟล์ที่เซฟเป็น utf8 อยู่แล้ว
ก็ไม่จำเป็นต้องใช้ tis2utf8 ครับ
แต่ว่าถ้าการ include เอา string จากไฟล์อื่น
งานนี้ทดลองกันเองเป็นเคสๆ ไปนะครับ มันมีแค่ไม่กี่อย่างเอง
ถ้าไม่ใช่ UTF8 ก็แปลงซะ ถ้าเป็นอยู่แล้ว ก็ปล่อยไป

File: index.php
โค๊ด:
<?
//เครดิตจัดทำโดย EThaiZone
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<pre>
<?php
define
(&#39;PHPSELF&#39;, basename($_SERVER[&#39;PHP_SELF&#39;]));
define(&#39;LOCALPATH&#39;, dirname(__FILE__)."/");
define(&#39;HOSTPATH&#39;, preg_replace("#(".PHPSELF.")$#", "", "http://".$_SERVER[&#39;HTTP_HOST&#39;].$_SERVER[&#39;PHP_SELF&#39;]));
define(&#39;SUBPATH&#39;, preg_replace("#(".PHPSELF.")$#", "", $_SERVER[&#39;PHP_SELF&#39;]));

function tis2utf8($tis) {
   for( 
$i=$istrlen($tis) ; $i++ ){
      
$s substr($tis$i1);
      
$val ord($s);
      if( 
$val 0x80 ){
         
$utf8 .= $s;
      } elseif ( ( 
0xA1 <= $val and $val <= 0xDA ) or ( 0xDF <= $val and $val <= 0xFB ) ){
         
$unicode 0x0E00 $val 0xA0;
         
$utf8 .= chr0xE0 | ($unicode >> 12) );
         
$utf8 .= chr0x80 | (($unicode >> 6) & 0x3F) );
         
$utf8 .= chr0x80 | ($unicode 0x3F) );
      }
   }
   return 
$utf8;
}

$head = <<<EOF
<h1>ตัวอย่างกรณีศึกษา - การทำ dynamic url แบบภาษาไทยบน PHP (รองรับ SEO)</h1>
<h2>จัดทำโดย EThaiZone</h2>
<b>**ทุกอย่างที่แสดงผล (ตัวอักษร ค่าจาก 
$_GET) อยู่ในรูป UTF-8 ทั้งหมด แต่ไฟล์ php เป็น Ascii ธรรมดา</b>
<hr/>
EOF;
echo 
tis2utf8($head);

if(!empty(
$_GET[&#39;url&#39;]))
$res "\"".$_GET[&#39;url&#39;]."\" - (This result is <b>URL</b>.)";
else 
if(!empty(
$_GET[&#39;box&#39;]))
$res "\"<a href=\"".HOSTPATH.$_GET[&#39;box&#39;]."\"><b>".$_GET[&#39;box&#39;]."</b></a>\" - (This result is <b>[input form] [GET Method]</b>.)";
else 
if(!empty(
$_POST[&#39;box&#39;]))
$res "\"<a href=\"".HOSTPATH.$_POST[&#39;box&#39;]."\"><b>".$_POST[&#39;box&#39;]."</b></a>\" - (This result is <b>[input form] [POST Method]</b>.)";
else 
$res tis2utf8("คุณอยู่ในหน้าหลัก เชิญคลิกลิงค์ หรือทดลองกรอกแบบฟอร์มแล้วส่ง");

echo 
"<b>Result : </b>".$res."<hr/>";

echo &
#39;<a href="&#39;.HOSTPATH.&#39;">Main</a><br/>&#39;;

$keyword "สวัสดีโลก!";
echo &
#39;<a href="&#39;.HOSTPATH.urlencode(tis2utf8($keyword)).&#39;">&#39;.tis2utf8($keyword).&#39;</a><br/>&#39;;
$keyword "สวัสดีพระเจ้า! (Oh My God)";
echo &
#39;<a href="&#39;.HOSTPATH.urlencode(tis2utf8($keyword)).&#39;">&#39;.tis2utf8($keyword).&#39;</a><br/>&#39;;

echo &#39;
<b>Example Send-Recv UTF8 String</b>

<
form action="&#39;.HOSTPATH.&#39;" method="get">[GET Method]
<
input type="text" name="box" value="&#39;.$_GET[&#39;box&#39;].&#39;">
<
input type="submit" value="Send">
</
form>
<
form action="&#39;.HOSTPATH.&#39;" method="post">[POST Method]
<
input type="text" name="box" value="&#39;.$_POST[&#39;box&#39;].&#39;">
<
input type="submit" value="Send">
</
form>
&
#39;;


?>

</pre>

File: .htaccess
โค๊ด:
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [L]

หรือดาว์นโหลดไฟล์ทั้งสองจากที่นี้
โค๊ด:
http://www.upload-thai.com/download.php?id=bfc3c7e789b85acdc4605306ca8dfe0f

ทดลองแล้ว ทั้ง IE FF และ GGChrome ใช้งานได้ปกติ

จะมีก็แต่ .htaccess ที่ผมไม่ได้เขียนอ้างอิงแบบ Full เพราะอาจมีคนเอาไปรันต่างโฟลเดอร์
เช่นถ้าไปทดสอบบน
โค๊ด:
http://localhost/testkit_htaccess_url_in_thai/

.htaccess จะเป็น
โค๊ด:
Options +FollowSymLinks
RewriteEngine On
RewriteBase    /testkit_htaccess_url_in_thai/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /testkit_htaccess_url_in_thai/index.php?url=$1 [L]

###############################

ถ้ามีประโยชน์ก็บอกกันบ้างนะครับ แต่ว่าคงไม่ตอบ PHP อีกนาน (จริงๆ คือไม่มีเวลาตอบ)
ตอนนี้ดันคลั่ง GUI แถมเพิ่งคิดจะเล่น Glade (ชาวบ้านเขาเล่นกันเป็นชาติแล้ว)

 :P


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: EThaiZone ที่ 16 มกราคม 2009, 00:21:27
ลืมบอก ขอความกรุณา อย่าทำสแปมคีย์ไทยนะครับ

แค่เท่านี้ใน GG เว็บไทยก็จะบรรลัยแล้ว
มีแต่โป๊ๆ เปลือยๆ จน...  สุดบรรยาย ลูกหลานไทย
"บางเว็บมันไร้จรรยาบรรณก็ปล่อยมันไป"

 :-X


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: teefouay ที่ 16 มกราคม 2009, 00:45:55
เว็บสองภาษา อยากทำแบบ ถ้า ไอพีต่างประเทศก็ให้เรียกหน้า อังกฤษ ถ้าไทยก็เรียกหน้าไทยน่ะครับ


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: siamman ที่ 16 มกราคม 2009, 00:47:30
ลืมบอก ขอความกรุณา อย่าทำสแปมคีย์ไทยนะครับ

แค่เท่านี้ใน GG เว็บไทยก็จะบรรลัยแล้ว
มีแต่โป๊ๆ เปลือยๆ จน...  สุดบรรยาย ลูกหลานไทย
"บางเว็บมันไร้จรรยาบรรณก็ปล่อยมันไป"

 :-X

เห็นด้วยครับ


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: L ที่ 16 มกราคม 2009, 00:53:36
เป็นไปได้น่าจะมีหน่วยงานมาดูแลอย่างจริงจังด้วยซ้ำ จะเป็นประโยชน์อย่างยิ่งกับทุกสิ่งทุกอย่าง ขอบคุณ EThaiZone ณ ที่นี้ด้วยครับ


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: EThaiZone ที่ 16 มกราคม 2009, 01:04:36
เว็บสองภาษา อยากทำแบบ ถ้า ไอพีต่างประเทศก็ให้เรียกหน้า อังกฤษ ถ้าไทยก็เรียกหน้าไทยน่ะครับ

อันนี้แค่บอก หรือถามครับ  :P

ถ้าถามก็หาพวก ip2location มาใช้ครับ (ฐานข้อมูลเสียตังค์ แต่ก็มีตัวฟรี และเถื่อน)
แล้ววิธี ในบอร์ดก็มีครับ ค้นหามา apply ได้เลย

แต่ที่ผมเคยใช้ มันชื่อ geoip
เมื่อก่อนใช้กรองไม่ให้แสดง adsense กับคนไทย

เมื่อก่อนยังกับยุคมืด ไม่กล้าให้คนไทยเห็น adsense ของเรา
กลัวโดนเกรียนบอม  :-X


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: Dr.K ที่ 16 มกราคม 2009, 01:08:29
555
มาดึกๆ
thx


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: teefouay ที่ 16 มกราคม 2009, 01:19:14
เว็บสองภาษา อยากทำแบบ ถ้า ไอพีต่างประเทศก็ให้เรียกหน้า อังกฤษ ถ้าไทยก็เรียกหน้าไทยน่ะครับ

อันนี้แค่บอก หรือถามครับ  :P

ถ้าถามก็หาพวก ip2location มาใช้ครับ (ฐานข้อมูลเสียตังค์ แต่ก็มีตัวฟรี และเถื่อน)
แล้ววิธี ในบอร์ดก็มีครับ ค้นหามา apply ได้เลย

แต่ที่ผมเคยใช้ มันชื่อ geoip
เมื่อก่อนใช้กรองไม่ให้แสดง adsense กับคนไทย

เมื่อก่อนยังกับยุคมืด ไม่กล้าให้คนไทยเห็น adsense ของเรา
กลัวโดนเกรียนบอม  :-X

ถามครับ.....
ถ้าในบอร์ด ค้นหาคำว่าอ่ะไรครับ ช่วยชี้แนะด้วยครับ
เหตุ เพราะสงสัยเห็นเว็บฝรั่งบางเว็บทำครับ




หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: EThaiZone ที่ 16 มกราคม 2009, 01:28:51
ก็ลองค้นด้วย ip2location ดูครับ

ที่เหลือก็แค่หาทางเช็คประเทศของ ip คนที่เข้ามาดูให้ได้ครับ
ส่วนมาก class ที่ใช้เช็ค ip ที่ผมแนะนำ
ก็ xip (ลองเอาคำนี้ค้นในบอร์ดดู)

 :P


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: เกรียนพันธ์แท้ ที่ 16 มกราคม 2009, 01:29:33
 :D :D :D :D


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: chanun ที่ 16 มกราคม 2009, 05:00:23
ขอถามหนิดได้ไหมครับคือแบบว่าพึ่งจะศึกษา
การทำแบบนี้ชื่อเป้นไทย ต้องมีไฟล์ภาษาไทยด้วยไหมครับ
เช่น http://xxx.com/บ้าน
แบบนี้ต้องมี บ้าน.php ไหมครับ หรือ ว่ามันเปลี่ยนจาก index.php เป็น บ้าน แทนครับ


ขออถามอีกหนิดนะครับ
มันคือวิธีการทำให้สามารถอ่านไฟล์ที่เป็นภาษาไทยได้ใช่หรือเปล่าครับ คือผมทดลองทำแล้วแต่ไม่รุ้ว่าจะตรงตามวัตถุประสงค์หรือเปล่าโดย
ผมลอง
localhost/บ้าน
localhost/เพชรนิจจินดา
localhost/หาดวกหด่สกหด
มันก็ติดแบบนี้แสดงว่าได้แล้วหรือครับ
แล้วเวลาไปโปรโมทให้ได้แบ็คลิงค์นี้ไปโปรโมทแบบนี้หรือครับ
localhost/บ้าน
localhost/เพชรนิจจินดา


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: ColdMoney ที่ 16 มกราคม 2009, 06:41:37
+1  :-*


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: nopchan ที่ 16 มกราคม 2009, 08:19:46
เว็บสองภาษา อยากทำแบบ ถ้า ไอพีต่างประเทศก็ให้เรียกหน้า อังกฤษ ถ้าไทยก็เรียกหน้าไทยน่ะครับ

อันนี้แค่บอก หรือถามครับ  :P

ถ้าถามก็หาพวก ip2location มาใช้ครับ (ฐานข้อมูลเสียตังค์ แต่ก็มีตัวฟรี และเถื่อน)
แล้ววิธี ในบอร์ดก็มีครับ ค้นหามา apply ได้เลย

แต่ที่ผมเคยใช้ มันชื่อ geoip
เมื่อก่อนใช้กรองไม่ให้แสดง adsense กับคนไทย

เมื่อก่อนยังกับยุคมืด ไม่กล้าให้คนไทยเห็น adsense ของเรา
กลัวโดนเกรียนบอม  :-X

พอดี เลยครับ กำลัง หา อยู่เหมือนกัน ครับ thanks +1 ครับ


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: EThaiZone ที่ 16 มกราคม 2009, 09:00:48
ขอถามหนิดได้ไหมครับคือแบบว่าพึ่งจะศึกษา
การทำแบบนี้ชื่อเป้นไทย ต้องมีไฟล์ภาษาไทยด้วยไหมครับ
เช่น [url]http://xxx.com/[/url]บ้าน
แบบนี้ต้องมี บ้าน.php ไหมครับ หรือ ว่ามันเปลี่ยนจาก index.php เป็น บ้าน แทนครับ

พูดให้ถูกคือทุกอย่างจะโดนส่งไป index.php หมดเลยครับ
ไม่มีตัวไฟล์จริงๆ อยู่เลย

ขออถามอีกหนิดนะครับ
มันคือวิธีการทำให้สามารถอ่านไฟล์ที่เป็นภาษาไทยได้ใช่หรือเปล่าครับ คือผมทดลองทำแล้วแต่ไม่รุ้ว่าจะตรงตามวัตถุ

ไม่ใช่ครับ แต่เป็นวิธีให้รับค่า url ที่เป็นภาษาไทย

ประสงค์หรือเปล่าโดย
ผมลอง
localhost/บ้าน
localhost/เพชรนิจจินดา
localhost/หาดวกหด่สกหด
มันก็ติดแบบนี้แสดงว่าได้แล้วหรือครับ
แล้วเวลาไปโปรโมทให้ได้แบ็คลิงค์นี้ไปโปรโมทแบบนี้หรือครับ
localhost/บ้าน
localhost/เพชรนิจจินดา

ตามนั้นเลยครับ

---------------------------------------

โค้ดข้างบนเหมาะกับคนที่ใช้ php ในระดับ advance แล้ว
แต่ยังติดปัญหาเรื่อง URL ภาษาไทย

แต่จริงๆ ระดับเริ่มต้นก็ใช้ได้ คำถามทุกข้อไม่จำเป็นต้องถามผมหรอกครับ
คำตอบอยู่ในโค้ดที่ผมเขียนให้ไปเี่นี่ยแหละ พยายามทำความเข้าใจสักนิดครับ

 ::)


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: ttuunn ที่ 16 มกราคม 2009, 09:18:58
คือผมลองศึกษาดูแล้วก็ใช้ได้เลยนะครับ
มันขึ้นภาษาไทย

ติดตรง เวลาเรากด link ที่เราใส่ไปในช่อง POST
Result : "ภาษาไทย" - (This result is URL.)

ข้อมูลที่ select มาก็จะหายไป



หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: pugkung ที่ 16 มกราคม 2009, 09:22:53
เข้ามาบอกว่าเอาคำนี้ไปค้นใน GG  Glade  ไม่รู้ว่ามันคืออะไรแต่รู้ว่า EthaiZone สนใจ

เลยตามหาอ่าน ดันไปอ่านเรื่อง Python กับ Ruby ซะนี้  ;D

แต่ก็ขอบคุณครับทำให้เปิดโลกขึ้นอีกเยอะเลย  ::)


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: EThaiZone ที่ 16 มกราคม 2009, 09:48:54
คือผมลองศึกษาดูแล้วก็ใช้ได้เลยนะครับ
มันขึ้นภาษาไทย

ติดตรง เวลาเรากด link ที่เราใส่ไปในช่อง POST
Result : "ภาษาไทย" - (This result is URL.)

ข้อมูลที่ select มาก็จะหายไป



จุดประสงค์ที่ทำโค้ดนี้ ก็อยากให้เข้าใจถึงการส่งต่อข้อมูลในรูป UTF8
เพราะ UTF8 มีความจำเป็นมากในการให้ใช้ภาษาำไทย

จุดนั้นไม่ใช่ปัญหา ที่ทำก็เพื่อให้เข้าใจว่าค่าที่ได้รับจากแบบฟอร์ม เมื่อนำแสดงบนหน้าเว็บจะเป็นอย่างไร
และถ้าสังเกตดีๆ ค่าข้อความไทยในตัวไฟล์ php ทุกจุด
ผมต้องใช้ tis2utf8 แปลงตลอด
แล้วทำไมค่าจากแบบฟอร์ม ผมถึงไม่ต้องแปลง มันก็แสดงผลได้่

จุดนี้แหละครับที่อยากให้สังเกตได้เอง  ::)

--------------------------------

ถ้าคนอื่นใครไม่เก็ท ก็ต้องไปทำความเข้าใจก่อนว่า Ascii หรือที่เขาออกเสียงกันว่าแอสกี้
มันเป็นยังไง แล้ว UTF8 เป็นยังไง ต่างกันยังไง โครงสร้างมันเป็นยังไง

และทั้งหมดนี้ Ascii และ UTF8 จริงๆ มันคืออะำไร  :)

เข้ามาบอกว่าเอาคำนี้ไปค้นใน GG  Glade  ไม่รู้ว่ามันคืออะไรแต่รู้ว่า EthaiZone สนใจ

เลยตามหาอ่าน ดันไปอ่านเรื่อง Python กับ Ruby ซะนี้  ;D

แต่ก็ขอบคุณครับทำให้เปิดโลกขึ้นอีกเยอะเลย  ::)


Glade มันรองรับภาษาอื่นได้อีกเยอะครับ แต่บางก็ไม่ port โดยตรงก็มี
บางภาษาเลยต้องให้ Glade ออกเป็น xml แล้วแปลงมันเป็นภาษานั้นๆ อีกที
พูดให้ถูกคือมันครบครันในหลายภาษาจริงๆ ในด้านการเขียน GUI
(แต่ก็ทุกๆ ภาษาเลยนิหว่าที่เป็น GUI  :P)

มีภาษาหนึ่งที่ผมว่ามันไม่น่าจะมีกับเขาด้วย ก็ PHP  :P
ใครเคยลองเขียน PHP GTK ก็บอกบ้างนะครับ อยากเห็นผลงานบ้าง (ผมยังไม่เคยเขียน)
โค๊ด:
http://gtk.php.net/
http://www.gnope.org/
http://glade.gnome.org/


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: au8ust ที่ 16 มกราคม 2009, 21:27:24
เว็บสองภาษา อยากทำแบบ ถ้า ไอพีต่างประเทศก็ให้เรียกหน้า อังกฤษ ถ้าไทยก็เรียกหน้าไทยน่ะครับ


อันนี้แค่บอก หรือถามครับ  :P

ถ้าถามก็หาพวก ip2location มาใช้ครับ (ฐานข้อมูลเสียตังค์ แต่ก็มีตัวฟรี และเถื่อน)
แล้ววิธี ในบอร์ดก็มีครับ ค้นหามา apply ได้เลย

แต่ที่ผมเคยใช้ มันชื่อ geoip
เมื่อก่อนใช้กรองไม่ให้แสดง adsense กับคนไทย

เมื่อก่อนยังกับยุคมืด ไม่กล้าให้คนไทยเห็น adsense ของเรา
กลัวโดนเกรียนบอม  :-X
ผมใช้อันนี้ http://www.maxmind.com/app/mod_geoip


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: mikeyx ที่ 16 มกราคม 2009, 21:31:44
กำลังศึกษาครับขอบคุณมาก  :-*


หัวข้อ: Re: [Programming] Thai Language in Dynamic URL (For SEO)
เริ่มหัวข้อโดย: jabranjabran ที่ 31 มีนาคม 2017, 13:45:17
อยากรู้เหมือนกัน