อยากทำ 404 errror page ของตัวเอง ใน wordpress ครับ

เริ่มโดย etgsgroup, 28 พฤศจิกายน 2008, 12:25:20

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

etgsgroup

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

MrWebmonster

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

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

น่าจะใกล้เคียงกับที่หานะครับ  :D
รวมเรื่อง สัพเพเหระ ไอที [direct=https://webmonsterth.blogspot.com/]แก้ปัญหาไวรัส[/direct] คอมพิวเตอร์ทิป อินเตอร์เน็ตทิป โค้ด รหัส Ascii [direct=http://www.ezsymbols.com/]สัญลักษณ์facebook[/direct] Messenger LINE Gplus Instagram [direct=http://www.ilovebrowser.com/]แก้ปัญหาเว็บเบราเซอร์[/direct] สู้ๆ น้าาาาา ~

บอท!

ผมใช้ งี้ ครับ ใน ไฟล์ 404
<?php header ("Location: หน้าที่ต้องการให้ไป"); ?>
ไม่ทราบว่าต้องการแนวไหน ครับ
ว่าง ๆ จะลองหาดู
/*SEO ทำอย่างไร สอนผมบ้างนะครับ*/
Original King is King of all King.
King who come to be Legend.
//all roads lead to rome
[direct=http://www.thaiseoboard.com/index.php/topic,12238.0.html/]สารบัญ (Search Engine Optimization) [/direct]
[direct=http://www.thaiseoboard.com/index.php/topic,130993.20.htm]--= 10 ความเข้าใจผิดเกี่ยวกับ seo ----dr.k-------[/direct]
[direct=http://www.thaiseoboard.com/index.php/topic,11787.0.html]ไม่มีอะไรจ๊ะ[/direct]

etgsgroup

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

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


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

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

Hari Seldon

ใน 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

อ้างถึงจาก: Hari Seldon ใน 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 ในเว็บเราได้นิดหน่อย


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

เดี๋ยวผมลองหาวิธีอื่นต่อไป ( + 1 ให้ทุกคนตอบเลยครับ)
ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว

บอท!

หลักการก็ เคยใช้ แบบง่าย ๆ แต่ไม่ใช่ 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
[direct=http://www.thaiseoboard.com/index.php/topic,12238.0.html/]สารบัญ (Search Engine Optimization) [/direct]
[direct=http://www.thaiseoboard.com/index.php/topic,130993.20.htm]--= 10 ความเข้าใจผิดเกี่ยวกับ seo ----dr.k-------[/direct]
[direct=http://www.thaiseoboard.com/index.php/topic,11787.0.html]ไม่มีอะไรจ๊ะ[/direct]

etgsgroup

อ้างถึงจาก: บอท! ใน 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 ดู ครับ ให้รีไปหน้าที่เราต้องการ เป็นหนูลองยาให้ผมด้วยไม่เคยใช้เหมือนกัน


ขอบคุณครับที่เสียเวลาไปหาให้ แต่ทว่า ก็ไม่ได้เหมือนเดิม  :P :P :P  สงสัย theme ที่ใช้เขากำหนดไว้แล้ว ไม่เป็นไรครับ
ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว

Hari Seldon

อืมม์ คุณมีไฟล์ 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/',


หวังว่าจะใช้ได้นะครับ :D

Kamilia

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

บอท!

แค่พอรู้บ้างครับยังห่างไกลคำว่า ชำนาญ
/*SEO ทำอย่างไร สอนผมบ้างนะครับ*/
Original King is King of all King.
King who come to be Legend.
//all roads lead to rome
[direct=http://www.thaiseoboard.com/index.php/topic,12238.0.html/]สารบัญ (Search Engine Optimization) [/direct]
[direct=http://www.thaiseoboard.com/index.php/topic,130993.20.htm]--= 10 ความเข้าใจผิดเกี่ยวกับ seo ----dr.k-------[/direct]
[direct=http://www.thaiseoboard.com/index.php/topic,11787.0.html]ไม่มีอะไรจ๊ะ[/direct]