รบกวนสอบถามเรื่องการเข้าหน้าเว็บครับ

เริ่มโดย รวยล่วงหน้า, 14 มกราคม 2010, 08:35:19

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

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

รวยล่วงหน้า

คือมี blog wordpress อยู่ครับคือ graceforthai.com เป็นเว็บของเจ้านาย
เค้ามีเว็บ Radio ด้วย คือ graceforthai.com/home.html
แต่เจ้านายของผมเค้าต้องการที่จะให้เวลาคนพิมพ์ url graceforthai.com มันเข้าไปที่หน้า graceforthai.com/home.html ก่อน
แล้วจะมี link จากหน้า graceforthai.com/home.html มาที่หน้า graceforthai.com อีกทีครับ
ไม่ทราบว่าจะทำได้ไหมครับ

ขอบคุณครับ  :wanwan008:

sssii

redirect เอาก็ได้ครับ ไม่รู้ จขกท ถนัดแบบไหน

Code : URL Redirect
ความหมายของ URL Redirect
ปกติแล้วใน Web Server จะมีไฟล์ที่เป็นไฟล์แรกสำหรับการแสดงเพจหน้าแรกซึ่งจะวางอยูในตำแหน่ง document root แต่ในบางครั้งเมื่อผู้ใช้มีการเรียกเข้ามาที่ url หรือ ไฟล์ดังกล่าวบน Web Server แล้ว อาจจะมีความจำเป็นที่ url ดังกล่าวยังไม่พร้อมที่จะให้บริการ เราก็สามารถจะเขียน code ในไฟล์ดังกล่าว ให้มีการเปลี่ยนเส้นทางไปเรียกไฟล์อื่นซึ่งอาจจะอยู่ในอีกไดเร็คทอรี่หรืออีกโฟลเดอร์บน Web Server ตัวเดียวกันหรืออาจจะเปลี่ยนเส้นทางไปเป็น Web Server อีกตัวก็ได้

วิธีการเขียนโค้ดจากที่กล่าวมาก็คือการเขียนโค้ดของ url redirect นั่นเอง
การ redirect แบบง่าย
การ redirect แบบง่ายสามารถทำได้ด้วยการใช้ meta tag ของ html code ดังตัวอย่างต่อไปนี้ :

<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.yourname.com">
</head>
</html>



ซึ่งถ้าเอา source code ข้างบนนี้ไปเป็นไฟล์หลักในตำแหน่ง document root บน Web Server ก็จะทำให้เว็บเพจถูก redirect ไปยัง http://www.yourname.com โดยทันที เพราะค่าของ CONTENT=0 แต่ถ้าต้องการหน่วงเวลาให้ผู้ใช้ได้อ่านข้อความบางอย่าง ก่อนการ redirect ก็สามารถทำได้ด้วยการกำหนดค่า CONTENT ไม่เป็น 0 ดังตัวอย่างต่อไปนี้ :

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

แต่วิธีการ redirect แบบข้างบนนี้จะทำให้ชื่อ url ตรงช่อง address ของ browser ถูกเปลี่ยนไปเป็นชื่อใหม่ คือ http://www.yourname.com วิธีการ redirect ที่ไม่ต้องการให้ชื่อ url เปลี่ยนเป็นอันใหม่ ผมไม่ทราบเหมือนกันว่าจะมีวิธีการทำที่ง่ายกว่าของผมหรือเปล่า ถ้าใครมีวิธีที่ง่ายกว่า ช่วยเมล์มาบอกด้วยก็แล้วกันครับ ในส่วนวิธีของผมนั้นใช้คำสั่ง frame (อาจจะเรียกว่า frame redirect หรือ frame to URL) ดังต่อไปนี้ครับ :

<html>
<head>
<title>เพจนี้เป็นการ redirect ครับ</title>
</head>
<frameset cols="*">
<frame src="http://www.anydomain.xxx/yourname">
</frameset>
</html>

โค้ดการ redirect ข้างบนนี้ชื่อของ url จะไม่ถูกเปลี่ยนไปเป็นชื่อใหม่ครับ

วิธีการเขียนโค้ดของ url redirect สำหรับ Web hosting
(บอกกล่าวกันก่อน–>โค้ดที่จะกล่าวถึงต่อไปนี้ผมเขียนขึ้นมาจากประสบการณ์ (เท่าที่จะแก้ปัญหาเฉพาะหน้าได้ครับ) ไม่ทราบเหมือนกันว่าที่เขาให้บริการ Web hosting จริง ๆ จะใช้เหมือนของผมหรือเปล่า ถ้ามีวิธีการที่ดีกว่านี้ช่วยเมล์มาบอกด้วยก็แล้วกัน)

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

ตัวอย่างที่ผมจะกล่าวต่อไปนี้มี 2 ตัวอย่าง ครับ ตัวอย่างแรก เป็นแบบที่ชื่อของ url ถูกเปลี่ยนเป็นชื่อใหม่ และตัวอย่างที่สอง เป็นแบบที่ชื่อของ URL ไม่ถูกเปลี่ยนเป็นชื่อใหม่ (frame redirect)

สมมุติว่า Web Server ถูกชี้มาจาก DNS Server จำนวน 2 โดเมน ดังนั้นไฟล์ที่เป็นไฟล์หลักในตำแหน่ง doucument root บน Web Server ต้องมีการตรวจสอบก่อนว่าผู้ใช้ต้องการเรียกไปยังโดเมนไหน โดยใช้ javascript เข้ามาช่วย และเมื่อรู้แล้วว่าผู้ใช้ต้องการเข้าสู่โดเมนไหน ก็จะต้องสั่งให้ไปยังตำแหน่งไฟล์จริง ๆ ของโดเมนนั้น ๆ ดังนี้ :

<html>
<head>
<script langquage='javascript'>
var url=document.location; //ตรวจสอบว่าผู้ใช้ต้องการเรียกเข้าสู่โดเมนไหน
if ((url=="http://www.firstdomain.com") || (url=="http://www.firstdomain.com/"))
{
window.location="http://www.yourdomain.xxx/firstdomain";
}
else if ((url=="http://www.seconddomain.com") || (url=="http://www.seconddomain.com/"))
{
window.location="http://www.yourdomain.xxx/seconddomain";
}
else
{
window.location="http://www.yourdomain.xxx/underconstruction.html";
}
</script>
</head>
</html>

และจากตัวอย่างเดียวกันนี้ถ้าต้องการไม่ให้ url ในช่อง address ของ browser ไม่มีการเปลี่ยนไปเป็นตำแหน่งที่แท้จริง ก็ทำได้ด้วยการใช้คำสั่ง frame เข้ามาช่วยดังต่อไปนี้ :

<html>
<script langquage='javascript'>
url=document.location;
if ((url=="http://www.firstdomain.com") || (url=="http://www.firstdomain.com/"))
{
document.write("<head><title>www.firstdomain.com</title></head>");
document.write('<frameset cols="*">');
document.write('<frame src="http://www.yourdomain.xxx/firstdomain">');
document.write("</frameset>");
}
else if (url=="http://www.seconddomain.com") || (url=="http://www.seconddomain.com/"))
{
document.write("<head><title>www.seconddomain.com</title></head>");
document.write('<frameset cols="*">');
document.write('<frame src="http://www.yourdomain.xxx/seconddomain">');
document.write("</frameset>");
}
else
{
document.write('<frameset cols="*">');
document.write('<frame src="http://www.yourdomain.xxx/underconstruction.html">');
document.write("</frameset>");
}
</script>
</html>
การทำ URL Redirect โดยใช้ PHP
ถ้ามีความจำเป็นที่จะต้องทำการ Redirect โดยการใข้ภาษา PHP ก็สามารถทำได้เช่นกัน นั่นคือใช้รูปแบบโครงสร้างของภาษาเป็นแบบเดียวกันกับที่กล่าวมาเพียงแต่เปลี่ยนคำสั่งดังตัวอย่างต่อไปนี้ ซึ่งเป็นแบบที่ address ไม่เปลี่ยนแปลง (frame to URL)

<?
switch ($SERVER_NAME){
case "www.firstdomain.com";{
echo '<frameset cols="*">';
echo '<frame src="http://www.yourdomain.xxx/firstdomain">';
echo "</frameset>";
break;}
case "www.seconddomain.com";{
echo '<frameset cols="*">';
echo '<frame src="www.yourdomain.xxx/seconddomain">';
echo "</frameset>";
break;}
default;{
echo '<frameset cols="*">';
echo '<frame src="http://www.yourdomain.xxx/underconstruction.html">';
echo "</frameset>";}
}

(ที่มา : www.tkc.ac.th  / [email protected])

รวยล่วงหน้า

ขอบคุณมากครับ

แต่ผมต้องการอีกแบบครับ
น่าจะเป็นการเขียน .htaccess
ไม่ทราบว่าจะทำได้ไหม
เพราะวิธีของคุณ sssii มันเป็นการ redirect เฉยๆ
เวลาเราจะเข้าไปที่หน้าหลักของ blog graceforthai.com มันก็จะมาที่หน้า graceforthai.com/home.html เหมือนเดิมนะครับ

ขอบคุณอีกครั้งครับ

sssii

การสร้างไฟล์ .htaccess วิธีของ redirection ทำงานบนเครื่อง server ที่เป็น linux เท่านั้นวิธีเขียนดังนี้

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

ตัวอย่างที่ไม่อยากทำไฟล์ redirect ครับสามารถทำเปงไฟล์ .htaccess ได้

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^gootum.com [nc]
rewritecond %{http_host} ^www.gootum.com [nc]
rewriterule ^(.*)$ http://blog.gootum.com/$1 [r=301,nc]
rewriterule ^(.*)$ http://blog.gootum.com/$1 [r=301,nc]
แล้วทำการเชฟชื่อไฟล์เป็น .htaccess จบข่าว
301 Redirect

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

รวยล่วงหน้า

มึนเลย
รบกวนเขียนให้ผมเลยได้ป่าวครับ อิอิ
แบบว่า งง  :-X