ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์CMS & Free ScriptPermalink ภาษาไทยใช้ไม่ได้ครับ จนปัญญาแล้ว (Wordpress+IIS7.5)
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: Permalink ภาษาไทยใช้ไม่ได้ครับ จนปัญญาแล้ว (Wordpress+IIS7.5)  (อ่าน 7255 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
imissblue
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 5



ดูรายละเอียด
« เมื่อ: 29 สิงหาคม 2011, 09:44:43 »

ผมใช้ Wordpress 3.2.1 กับ IIS 7.5 ครับ
เพิ่มโมดูล URL Rewrite เรียบร้อยแล้ว

ตอนนี้มีปัญหาคือถ้าใช้ Permalink เป็น %postname%
จะมีปัญหากับภาษาไทยครับ เช่น
โค๊ด:
http://www.domain.com/2011/08/สวัสดีชาวโลก/
จะเป็น Error 404 - Not Found ทันที

แต่ถ้าเป็นภาษาอังกฤษ เช่น
โค๊ด:
http://www.domain.com/2011/08/hello-world/
http://www.domain.com/forum
ใช้งานได้ปกติครับ

ลองมาหลายวิธีแล้วครับ แก้ไม่ตกสักที  wanwan006
« แก้ไขครั้งสุดท้าย: 29 สิงหาคม 2011, 09:46:43 โดย imissblue » บันทึกการเข้า
katizero
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 86
ออฟไลน์ ออฟไลน์

กระทู้: 1,171



ดูรายละเอียด
« ตอบ #1 เมื่อ: 29 สิงหาคม 2011, 09:47:49 »

ลองปรับกลับมาเป็นแบบเดิมดู  wanwan016
บันทึกการเข้า
imissblue
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 5



ดูรายละเอียด
« ตอบ #2 เมื่อ: 29 สิงหาคม 2011, 09:51:21 »

ลองปรับกลับมาเป็นแบบเดิมดู  wanwan016


แบบปกติใช้ได้ครับ แต่ถ้าใช้ %postname% มีปัญหาทันที กับภาษาไทยเท่านั้น  wanwan031
บันทึกการเข้า
ken2
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 88
ออฟไลน์ ออฟไลน์

กระทู้: 1,062



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 29 สิงหาคม 2011, 09:53:02 »

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

drlovecat
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 181
ออฟไลน์ ออฟไลน์

กระทู้: 1,855



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 29 สิงหาคม 2011, 09:53:11 »

windows host กับ .htaccess จะไม่ 100 % ครับ เนื่องจาก วินโดวส์ไม่รู้จักไฟล์ .htaccess
ดังนั้น ถ้าเป็นโฮสต์วินโดวส์ จะต้องใช้ไฟล์ web.config แทนครับ

บันทึกการเข้า
bigwore
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 152
ออฟไลน์ ออฟไลน์

กระทู้: 1,331



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 29 สิงหาคม 2011, 09:54:02 »

ภาษาไทยสมบูรณ์แบบ เพื่อ SEO
              
ก่อนอื่นจุกต้องบอกก่อนนะครับว่า การทำให้ WordPress รองรับภาษไทย เต็มรูปแบบนั้น คือ เราต้องการให้ URL ของเราเป็นภาษาไทยทั้งใน HTML Code และใน Database เพื่อการทำ SEO ภาษาไทย เพราะดิม wordpress สามารถให้เราป้อน URL หรือ Slug เป็นภาษาไทยได้ แต่ตอน save ลง Database wordpress จะแปลงเป็น HTML ภาษาไทย เป็น HTML Entity code เช่น
จากคำว่า “URL-ภาษาไทย.html” ก็จะบันทึกเป็น “url-%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2%e0%b9%84%e0%b8%97%e0%b8%a2″ แล้วเวลาแสดงใน HTML code ของเว็บเพจก็จะเป็น  ดังตัวอย่าง
ทำให้ การทำ SEO ไม่ได้ผลเท่าที่ควร  เพราะ Search Engine จะบันทึก keyword เป็น ภาษา HTML Entity โดยไม่บันทึกเป็น ถาษาไทย
แและถ้าเรา พิมพ์ URL เป็นภาษาไทย ใน ช่อง URL ของ browser ก็จะไม่สามารถพบ webpage นั้นๆ
ดังนั้น เพื่อให้ทั้ง HTML Code และ URL ที่เราเห็นเป็นภาษาไทยทั้งหมด เราจึงต้องเพิ่ม คำสั่งเข้าไปในไฟล์ formating.php ของ WordPress  ดังนี้
1. หา /wp-includes/formatting.php
2.  ไปที่ function  function sanitize_title($title, $fallback_title = ”, $context = ‘save’) {
อยู่ประมาณบรรทัศที่  800
3.  เพิ่มบรรทัศนี้เข้าไป ก่อนที่จะ  return
$title=urldecode($title);
return $title;
แค่ Save  …. แค่นี้เป็นอันเสร็จครับ

ก็อบมาจากในนี้ครับ
« แก้ไขครั้งสุดท้าย: 29 สิงหาคม 2011, 09:54:30 โดย bigwore » บันทึกการเข้า
imissblue
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 5



ดูรายละเอียด
« ตอบ #6 เมื่อ: 29 สิงหาคม 2011, 09:54:50 »

windows host กับ .htaccess จะไม่ 100 % ครับ เนื่องจาก วินโดวส์ไม่รู้จักไฟล์ .htaccess
ดังนั้น ถ้าเป็นโฮสต์วินโดวส์ จะต้องใช้ไฟล์ web.config แทนครับ



มีไฟล์อยู่ครับ  wanwan031
โค๊ด:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
    <rules>
        <rule name="Main Rule" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php/{R:0}" />
        </rule>
    </rules>
</rewrite>
  </system.webServer>
</configuration>
บันทึกการเข้า
เกมส์เกมส์.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 322
ออฟไลน์ ออฟไลน์

กระทู้: 4,122



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 29 สิงหาคม 2011, 09:59:43 »

ปลั๊กอัน utf-8 converter ลงเสร็จคลิก 2 คลิก เรียบร้อย
บันทึกการเข้า

imissblue
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 5



ดูรายละเอียด
« ตอบ #8 เมื่อ: 29 สิงหาคม 2011, 10:00:09 »

ภาษาไทยสมบูรณ์แบบ เพื่อ SEO
              
ก่อนอื่นจุกต้องบอกก่อนนะครับว่า การทำให้ WordPress รองรับภาษไทย เต็มรูปแบบนั้น คือ เราต้องการให้ URL ของเราเป็นภาษาไทยทั้งใน HTML Code และใน Database เพื่อการทำ SEO ภาษาไทย เพราะดิม wordpress สามารถให้เราป้อน URL หรือ Slug เป็นภาษาไทยได้ แต่ตอน save ลง Database wordpress จะแปลงเป็น HTML ภาษาไทย เป็น HTML Entity code เช่น
จากคำว่า “URL-ภาษาไทย.html” ก็จะบันทึกเป็น “url-%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2%e0%b9%84%e0%b8%97%e0%b8%a2″ แล้วเวลาแสดงใน HTML code ของเว็บเพจก็จะเป็น  ดังตัวอย่าง
ทำให้ การทำ SEO ไม่ได้ผลเท่าที่ควร  เพราะ Search Engine จะบันทึก keyword เป็น ภาษา HTML Entity โดยไม่บันทึกเป็น ถาษาไทย
แและถ้าเรา พิมพ์ URL เป็นภาษาไทย ใน ช่อง URL ของ browser ก็จะไม่สามารถพบ webpage นั้นๆ
ดังนั้น เพื่อให้ทั้ง HTML Code และ URL ที่เราเห็นเป็นภาษาไทยทั้งหมด เราจึงต้องเพิ่ม คำสั่งเข้าไปในไฟล์ formating.php ของ WordPress  ดังนี้
1. หา /wp-includes/formatting.php
2.  ไปที่ function  function sanitize_title($title, $fallback_title = ”, $context = ‘save’) {
อยู่ประมาณบรรทัศที่  800
3.  เพิ่มบรรทัศนี้เข้าไป ก่อนที่จะ  return
$title=urldecode($title);
return $title;
แค่ Save  …. แค่นี้เป็นอันเสร็จครับ

ก็อบมาจากในนี้ครับ

ผมเพิ่มแบบนี้ถูกไหมครับ
โค๊ด:
function sanitize_title($title, $fallback_title = '', $context = 'save') {
$raw_title = $title;

if ( 'save' == $context )
$title = remove_accents($title);

$title = apply_filters('sanitize_title', $title, $raw_title, $context);

if ( '' === $title || false === $title )
$title = $fallback_title;
$title=urldecode($title);
return $title;
}
บันทึกการเข้า
imissblue
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 5



ดูรายละเอียด
« ตอบ #9 เมื่อ: 29 สิงหาคม 2011, 10:39:00 »

ก็ยังไม่ได้อยู่ดีอ่ะครับ ฮือ อยากจะร้องไห้  Lips Sealed
บันทึกการเข้า
jakkrit13
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 36



ดูรายละเอียด
« ตอบ #10 เมื่อ: 31 สิงหาคม 2011, 04:28:40 »

ผมลองแล้วได้ครับ

function sanitize_title($title, $fallback_title = '', $context = 'save') {
   $raw_title = $title;

   if ( 'save' == $context )
      $title = remove_accents($title);

   $title = apply_filters('sanitize_title', $title, $raw_title, $context);

   if ( '' === $title || false === $title )
      $title = $fallback_title;

   $title=urldecode($title);
   
   return $title;
บันทึกการเข้า
GoogleBot
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 346
ออฟไลน์ ออฟไลน์

กระทู้: 6,993



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 31 สิงหาคม 2011, 04:34:49 »

ตรวจดูว่า ท่านมีไฟล์ .htaccess หรือยัง Huh?
บันทึกการเข้า

เปิดซิงตลาดใหม่ prosperent.com คล้าย Viglink

รับซื้อ PayPal รับเยอะ สอบถามเรทล่าสุดได้ PM มาได้เลยตรับ

jakkrit13
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 36



ดูรายละเอียด
« ตอบ #12 เมื่อ: 31 สิงหาคม 2011, 21:40:59 »

พี่ถ้าจะเอาเป็นภาษาลาว ต้องใส่ code อะไรครับ
บันทึกการเข้า
kaojung
สมุนแก๊งเสียว
*

พลังน้ำใจ: 40
ออฟไลน์ ออฟไลน์

กระทู้: 629



ดูรายละเอียด เว็บไซต์
« ตอบ #13 เมื่อ: 24 กันยายน 2011, 08:05:27 »

ก็ยังไม่ได้อยู่ดีอ่ะครับ ฮือ อยากจะร้องไห้  Lips Sealed
pm อีเมล์มาเลย
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์