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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์CMS & Free Scriptอยากทำ 404 errror page ของตัวเอง ใน wordpress ครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: อยากทำ 404 errror page ของตัวเอง ใน wordpress ครับ  (อ่าน 1821 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
etgsgroup
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 6,754



ดูรายละเอียด
« เมื่อ: 28 พฤศจิกายน 2008, 12:25:20 »

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

ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว
MrWebmonster
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,922



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 28 พฤศจิกายน 2008, 15:21:26 »

ลองไปใช้ Redirection WP-plugin ดูสิครับ

http://wordpress.org/extend/plugins/redirection/

น่าจะใกล้เคียงกับที่หานะครับ  Cheesy
บันทึกการเข้า

รวมเรื่อง สัพเพเหระ ไอที แก้ปัญหาไวรัส คอมพิวเตอร์ทิป อินเตอร์เน็ตทิป โค้ด รหัส Ascii สัญลักษณ์facebook Messenger LINE Gplus Instagram แก้ปัญหาเว็บเบราเซอร์ สู้ๆ น้าาาาา ~
บอท!
ยามว่าง
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 7,517



ดูรายละเอียด
« ตอบ #2 เมื่อ: 28 พฤศจิกายน 2008, 16:12:06 »

ผมใช้ งี้ ครับ ใน ไฟล์ 404
<?php header ("Location: หน้าที่ต้องการให้ไป"); ?>
ไม่ทราบว่าต้องการแนวไหน ครับ
ว่าง ๆ จะลองหาดู
บันทึกการเข้า

/*SEO ทำอย่างไร สอนผมบ้างนะครับ*/
Original King is King of all King.
King who come to be Legend.
//all roads lead to rome
สารบัญ (Search Engine Optimization)
--= 10 ความเข้าใจผิดเกี่ยวกับ seo ----dr.k-------
ไม่มีอะไรจ๊ะ
etgsgroup
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 6,754



ดูรายละเอียด
« ตอบ #3 เมื่อ: 29 พฤศจิกายน 2008, 08:41:31 »

ขอบคุณทั้ง 2 ท่านเลยนะครับที่มาแนะนำ

ของท่าน MrWebmonster ผมเอาไปลองก่อนแล้วจะกลับมาบอกว่าดีหรือเปล่า


ของท่านบอท! ผมชักไม่แน่ใจว่า file 404 ของผมอยู่ที่ไหน อยากได้แบบว่าออกแบบหน้าเองเลยครับ
ผมลองเขียนใน file .htaccess ให้ชี้ไปหน้า 404 ที่สร้างเองก็ไม่ขึ้น

แบบว่าอยากสร้างหน้า 404 เอาสินค้ามาวาง แล้ว รีไดเรท ไป astore แบบนี้ครับ คาดว่าจะดี (ผมก็คิดว่าแสดงหน้า 404 บอกเขาก่อนว่าหน้านี้หายไป แล้วสัก พักก็ รีไดเรทไปครับ)
บันทึกการเข้า

ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว
Hari Seldon
ก๊วนเสียว
*

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

กระทู้: 258



ดูรายละเอียด
« ตอบ #4 เมื่อ: 29 พฤศจิกายน 2008, 09:10:50 »

ใน Theme ของ wordpress ที่คุณเลือกใช้ เช่น ถ้าเลือก Default
ก็จะเป็นไฟล์ /wp-content/themes/default/404.php
ถ้าคุณใช้ธีม abc ก็เป็นไฟล์ /wp-content/themes/abc/404.php

แก้ไฟล์นี้ให้เป็นแบบที่คุณต้องการเลยก็ได้ครับ

ถ้า wordpress หาหน้าที่ต้องการไม่เจอ มันจะมาเรียกใช้หน้านี้
จะทำเป็น html ธรรมดาก็ได้ หรือทำเป็น php script
ต่อกับ wordpress database ผ่าน WP_Query ไรพวกนี้ก็ได้
(เช่น ให้ค้นหา post ของเราตาม url ที่ใส่มา แสดงข่าวล่าสุดสองสามอัน
แสดงข่าว random แสดงข่าวที่ pop ที่สุด ฯลฯ)
ซึ่งสามารถเพิ่มจำนวน page ในเว็บเราได้นิดหน่อย
บันทึกการเข้า
etgsgroup
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 6,754



ดูรายละเอียด
« ตอบ #5 เมื่อ: 29 พฤศจิกายน 2008, 09:48:30 »

ใน Theme ของ wordpress ที่คุณเลือกใช้ เช่น ถ้าเลือก Default
ก็จะเป็นไฟล์ /wp-content/themes/default/404.php
ถ้าคุณใช้ธีม abc ก็เป็นไฟล์ /wp-content/themes/abc/404.php

แก้ไฟล์นี้ให้เป็นแบบที่คุณต้องการเลยก็ได้ครับ

ถ้า wordpress หาหน้าที่ต้องการไม่เจอ มันจะมาเรียกใช้หน้านี้
จะทำเป็น html ธรรมดาก็ได้ หรือทำเป็น php script
ต่อกับ wordpress database ผ่าน WP_Query ไรพวกนี้ก็ได้
(เช่น ให้ค้นหา post ของเราตาม url ที่ใส่มา แสดงข่าวล่าสุดสองสามอัน
แสดงข่าว random แสดงข่าวที่ pop ที่สุด ฯลฯ)
ซึ่งสามารถเพิ่มจำนวน page ในเว็บเราได้นิดหน่อย


ขอบคุณมาก ๆ ครับที่มาแนะนำ แต่ทว่า ก็ไม่ได้เหมือนเดิม ครับ ไม่เข้าใจเหมือนกัน theme ที่ใช้มันไม่ยอมยิงไปที่ 404.php (เวรกรรม)

เดี๋ยวผมลองหาวิธีอื่นต่อไป ( + 1 ให้ทุกคนตอบเลยครับ)
บันทึกการเข้า

ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว
บอท!
ยามว่าง
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 7,517



ดูรายละเอียด
« ตอบ #6 เมื่อ: 29 พฤศจิกายน 2008, 10:06:41 »

หลักการก็ เคยใช้ แบบง่าย ๆ แต่ไม่ใช่ wordpress  ผมจะ ใส่ข้อความบอกแล้ว ก็ ค่อยสั่ง redirect อาจจะใส codeตั้งเวลาถอยหลัง ค่อยรี  ตอนนั้นใช้ code meta refresh เอา น่ะครับ
อ้างถึง
<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.yourname.com">
</head>
<body>
<center>
บอกเขาก่อนว่าหน้านี้หายไป ให้เข้า
<a href="http://www.yourname.com ">www.yourname.com</a>
</center>
</body>
</html>

เลข 5 คือเวลา เป็นวินาที นะครับ ข้อความก็ปรับตามชอบเลยครับ

ส่วนถ้าแก้ใน wordpress
ก่อนอื่น ถ้า themes ไม่มี 404.php ก็ สร้าง แล้วใส่ใน themes ก๊อปจาก Default
 ก็ได้ แล้วใส่ ใน themes  ที่เราใช้ แล้วก็ปรับใส่ code redirect เอา


หรือ .htaccess
อ้างถึง
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)
ErrorDocument 404 /index.php

อันนี้ .htaccess ที่ผมเจอ ยังไม่เคยลองใช้ น่าจะเปลี่ยน จาก /index.php ไปเป็น http://astore ... ได้แต่ คงไม่สามารถบอกก่อน redirect ได้
แต่ถ้า ให้ redirect ไปหน้าที่เรา สร้างขึ้นใหม่ ก็ น่าจะใช้ code refresh ที่หน้าใหม่ก็ได้นะครับแล้วค่อยส่งไป astore


ป.ล. code  .htaccess  ผมยังไม่เคยลองใช้นะครับ

คำเตือน - มีกระทู้ตอบใหม่ ขณะที่คุณพิมพ์ข้อความ อยากให้คุณแสดงตัวอย่างก่อนตั้งกระทู้
อ่านใหม่ งั้นลองเพิ่ม .htaccess  ส่วน   404 ดู ครับ ให้รีไปหน้าที่เราต้องการ เป็นหนูลองยาให้ผมด้วยไม่เคยใช้เหมือนกัน
บันทึกการเข้า

/*SEO ทำอย่างไร สอนผมบ้างนะครับ*/
Original King is King of all King.
King who come to be Legend.
//all roads lead to rome
สารบัญ (Search Engine Optimization)
--= 10 ความเข้าใจผิดเกี่ยวกับ seo ----dr.k-------
ไม่มีอะไรจ๊ะ
etgsgroup
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 6,754



ดูรายละเอียด
« ตอบ #7 เมื่อ: 29 พฤศจิกายน 2008, 10:24:23 »

หลักการก็ เคยใช้ แบบง่าย ๆ แต่ไม่ใช่ wordpress  ผมจะ ใส่ข้อความบอกแล้ว ก็ ค่อยสั่ง redirect อาจจะใส codeตั้งเวลาถอยหลัง ค่อยรี  ตอนนั้นใช้ code meta refresh เอา น่ะครับ
อ้างถึง
<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.yourname.com">
</head>
<body>
<center>
บอกเขาก่อนว่าหน้านี้หายไป ให้เข้า
<a href="http://www.yourname.com ">www.yourname.com</a>
</center>
</body>
</html>

เลข 5 คือเวลา เป็นวินาที นะครับ ข้อความก็ปรับตามชอบเลยครับ

ส่วนถ้าแก้ใน wordpress
ก่อนอื่น ถ้า themes ไม่มี 404.php ก็ สร้าง แล้วใส่ใน themes ก๊อปจาก Default
 ก็ได้ แล้วใส่ ใน themes  ที่เราใช้ แล้วก็ปรับใส่ code redirect เอา


หรือ .htaccess
อ้างถึง
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)
ErrorDocument 404 /index.php

อันนี้ .htaccess ที่ผมเจอ ยังไม่เคยลองใช้ น่าจะเปลี่ยน จาก /index.php ไปเป็น http://astore ... ได้แต่ คงไม่สามารถบอกก่อน redirect ได้
แต่ถ้า ให้ redirect ไปหน้าที่เรา สร้างขึ้นใหม่ ก็ น่าจะใช้ code refresh ที่หน้าใหม่ก็ได้นะครับแล้วค่อยส่งไป astore


ป.ล. code  .htaccess  ผมยังไม่เคยลองใช้นะครับ

คำเตือน - มีกระทู้ตอบใหม่ ขณะที่คุณพิมพ์ข้อความ อยากให้คุณแสดงตัวอย่างก่อนตั้งกระทู้
อ่านใหม่ งั้นลองเพิ่ม .htaccess  ส่วน   404 ดู ครับ ให้รีไปหน้าที่เราต้องการ เป็นหนูลองยาให้ผมด้วยไม่เคยใช้เหมือนกัน



ขอบคุณครับที่เสียเวลาไปหาให้ แต่ทว่า ก็ไม่ได้เหมือนเดิม  Tongue Tongue Tongue  สงสัย theme ที่ใช้เขากำหนดไว้แล้ว ไม่เป็นไรครับ
บันทึกการเข้า

ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว
Hari Seldon
ก๊วนเสียว
*

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

กระทู้: 258



ดูรายละเอียด
« ตอบ #8 เมื่อ: 29 พฤศจิกายน 2008, 10:51:49 »

อืมม์ คุณมีไฟล์ 404.php ในธีมที่ใช้รึยังครับ

ถ้ามีแต่ยังใช้ไม่ได้ อาจจะโดน block ไว้
สามารถทำได้สองวิธีครับ

1. แก้ .htaccess ใน redirect เฉพาะหน้าที่ต้องการ
2. แก้ index.php ใน theme เพิ่มส่วน redirection บน url ที่ต้องการ

ใน .htaccess ให้เพิ่มแบบนี้

RewriteEngine On
RewriteRule ^old_url$ new_url [L]

แทนที่ old_url และ new_url ด้วย URL ที่คุณต้องการนะครับ
ใส่เรียงไปเรื่อยๆ

ข้อเสียของวิธีนี้คือมันช้านะครับ ถ้าลง web server เป็น Litespeed จะเร็กว่า Apache

ส่วนวิธีที่สอง แก้ใน index.php ของ Theme เลยครับ ใส่ code นี้ไว้ด้านบนสุดเลย


โค๊ด:
<?php

  $redirect 
= array(
    
'old_url1' => 'new_url1',
    
'old_url2' => 'new_url2',
    ...
  );

  
$uri $_SERVER['REQUEST_URI'];
  
  if (
array_key_exists$uri$redirect ) ) {
    
// 301 Moved Permanently
    
header("Location: ".$redirect[$uri],TRUE,301);
  }

?>


ใส่ old_url(n) => new_url(n) ตามต้องการนะครับกี่อันก็ได้
ให้ใส่ url เต็มยกเว้น http://domain.name ครับ อย่างเช่น

ถ้าให้ http://www.hello.com/this-is-old-url1.html
ไปที่ http://www.hello.com/sell-stuff/

ก็เขียนแบบนี้
  '/this-is-old-url1.html' => '/sell-stuff/',


หวังว่าจะใช้ได้นะครับ Cheesy
บันทึกการเข้า
Kamilia
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,286



ดูรายละเอียด
« ตอบ #9 เมื่อ: 29 พฤศจิกายน 2008, 19:40:15 »

โอ้อ่านแล้วรู้สึกว่่าพี่บอทจะชำนาญเกี่ยวกับ wp จัง
บันทึกการเข้า
บอท!
ยามว่าง
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 7,517



ดูรายละเอียด
« ตอบ #10 เมื่อ: 29 พฤศจิกายน 2008, 20:22:13 »

แค่พอรู้บ้างครับยังห่างไกลคำว่า ชำนาญ
บันทึกการเข้า

/*SEO ทำอย่างไร สอนผมบ้างนะครับ*/
Original King is King of all King.
King who come to be Legend.
//all roads lead to rome
สารบัญ (Search Engine Optimization)
--= 10 ความเข้าใจผิดเกี่ยวกับ seo ----dr.k-------
ไม่มีอะไรจ๊ะ
หน้า: [1]   ขึ้นบน
พิมพ์