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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรบกวนสอบถามเรื่องการเข้าหน้าเว็บครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รบกวนสอบถามเรื่องการเข้าหน้าเว็บครับ  (อ่าน 865 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
รวยล่วงหน้า
ก๊วนเสียว
*

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

กระทู้: 483



ดูรายละเอียด
« เมื่อ: 14 มกราคม 2010, 08:35:19 »

คือมี 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
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,227



ดูรายละเอียด
« ตอบ #1 เมื่อ: 14 มกราคม 2010, 09:34:22 »

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])
บันทึกการเข้า
รวยล่วงหน้า
ก๊วนเสียว
*

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

กระทู้: 483



ดูรายละเอียด
« ตอบ #2 เมื่อ: 14 มกราคม 2010, 21:52:34 »

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

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

ขอบคุณอีกครั้งครับ
บันทึกการเข้า
sssii
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,227



ดูรายละเอียด
« ตอบ #3 เมื่อ: 14 มกราคม 2010, 22:00:14 »

การสร้างไฟล์ .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

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

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

กระทู้: 483



ดูรายละเอียด
« ตอบ #4 เมื่อ: 14 มกราคม 2010, 22:32:04 »

มึนเลย
รบกวนเขียนให้ผมเลยได้ป่าวครับ อิอิ
แบบว่า งง  Lips Sealed
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์