Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,360

HOME > บทความจากสมาชิก > สร้าง URL Rewrite และ PHP ฐานข้อมูล MySQL Database เพื่อ SEO บน Apache mod_rewrite



 
Clound SSD Virtual Server

สร้าง URL Rewrite และ PHP ฐานข้อมูล MySQL Database เพื่อ SEO บน Apache mod_rewrite

สร้าง URL Rewrite และ PHP ฐานข้อมูล MySQL Database เพื่อ SEO บน Apache mod_rewrite บทความนี้จะเป็นการประยุกต์ใช้งานจริงของ Mod Rewrite (Apache mod_rewrite) กับ PHP และฐานข้อมูล MySQL Database ถ้าอ่านบทความนี้เข้าใจอย่างแจ่มแจ้ง จะสามารถมีไอเดียในการต่อยอดพัฒนาได้อีกมากมาย ที่จะสามารถพัฒนาร่วมกับ PHP และ MySQL Database ในบทความนี้จะสมมุติเป็นระบบข่างประชาสัมพันธ์ชื่อตารางว่า tb_news ตามรูป


Apache Mod Rewrite PHP MySQL

โดยมี Column ชื่อว่า NewsID เป็น Primary Keys และมี Column ชื่อว่า Keyword ไว้สำหรับเก็บ Keyword ที่จะเอามาทำเป็น URL ที่รองรับ SEO

Screenshot

Apache Mod Rewrite PHP MySQL

ตัวอย่าง Screenshot ที่ได้

สำหรับพื้นฐาน Apache Mod Rewrite กับ SEO สามารถอ่านได้ที่บทความนี้

Mod Rewrite (mod_rewrite) ด้วย Apache สร้าง URL Friendly รองรับ SEO ด้วย (.htaccess)


โครงสร้างและข้อมูลของ tb_news
CREATE TABLE `tb_news` (
`NewsID` int(4) unsigned zerofill NOT NULL auto_increment,
`Keyword` varchar(50) NOT NULL,
`Subject` varchar(150) NOT NULL,
`Description` text NOT NULL,
PRIMARY KEY (`NewsID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `tb_news`
--

INSERT INTO `tb_news` VALUES (0001, 'welcome-thaicreate', 'Welcome to thaicreate.com web develop....', 'Welcome to thaicreate.com web develop.\r\nWelcome to thaicreate.com web develop.\r\nWelcome to thaicreate.com web develop.\r\nWelcome to thaicreate.com web develop.');
INSERT INTO `tb_news` VALUES (0002, 'php-best-web', 'The php best for the Web program...', 'The php best for the Web program...\r\nThe php best for the Web program...\r\nThe php best for the Web program...\r\nThe php best for the Web program...');


นำ SQL นี้ไป Query เพื่อสร้าง Table และ Data

ไฟล์ทั้งหมดจะใช้ทั้งหมด 3 ตัว คือ
- .htaccess (กำหนด Rewrite Rule)
- news.php (แสดงรายการข่างทั้งหมด)
- viewnews.php (แสดงรายละเอียดของแต่ล่ะข่าว)

Code ทั้งหมด

.htaccess
RewriteEngine On

RewriteRule ^(.*)/(.*).html /viewnews.php?NewsID=$1&Keyword=$2


เป็น RewriteEngine ง่าย ๆ ที่ตรวจสอบ (.*)/(.*) คือ ข้อความแรก / ข้อความที่สอง.html แล้วนำค่าส่งไปยัง viewnews.php?NewsID=$1&Keyword=$2

news.php
<html>
<head>
<title>ThaiCreate.Com</title>
</head>
<body>
<?php
$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
$objDB = mysql_select_db("rewrite");
$strSQL = "SELECT * FROM tb_news";
$objQuery = mysql_query($strSQL) or die (mysql_error());
?>
<table width="600" border="1">
  <tr>
    <th width="100"> <div align="center">NewsID </div></th>
    <th width="500"> <div align="center">Subject </div></th>
  </tr>
<?php
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td><div align="center"><?php echo $objResult["NewsID"];?></div></td>
    <td><a href="/<?php echo $objResult["NewsID"];?>/<?php echo $objResult["Keyword"];?>.html"><?php echo $objResult["Subject"];?></a></td>
  </tr>
<?php
}
?>
</table>
<?php
mysql_close($objConnect);
?>
</body>
</html>


จาก Code จะมีการสร้างลิ้งค์เองเพื่อให้อยู่ในรูปแบบที่ต้องการ

<a href="/<?php echo $objResult["NewsID"];?>/<?php echo $objResult["Keyword"];?>.html"><?php echo $objResult["Subject"];?></a>


ซึ่งเมื่อดึงค่าจาก Database แล้วจะได้ URL คือ

/0001/welcome-thaicreate.html


viewnews.php
<html>
<head>
<title>ThaiCreate.Com</title>
</head>
<body>
<?php
$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
$objDB = mysql_select_db("rewrite");
$strSQL = "SELECT * FROM tb_news WHERE NewsID = '".$_GET["NewsID"]."' AND Keyword = '".$_GET["Keyword"]."' ";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$objResult = mysql_fetch_array($objQuery);
?>
<h1><?php echo $objResult["Subject"];?></h1>

<?php echo nl2br($objResult["Description"]);?>

<?php
mysql_close($objConnect);
?>
</body>
</html>


เมื่อ URL ที่ส่งมาจากหน้า news.php เช่น

http://localhost:8081/0001/welcome-thaicreate.html


เมื่อผ่าน RewriteEngine ก็จะได้ตัวแปร 2 ตัวคือ

NewsID = 0001
Keyword = welcome-thaicreate


Apache Mod Rewrite PHP MySQL

และในไฟล์ viewnews.php ก็ใช้การอ่านตัวแปรดังกล่าวเป็น $_GET เพื่อนำค่าไป Query ที่อยู่ในฐานข้อมูล MySQL มาแสดงหน้าเว็บ

Screenshot

Apache Mod Rewrite PHP MySQL

หน้า news.php แสดงข่าวทั้งหมด

Apache Mod Rewrite PHP MySQL

เมื่อคลิกและส่ง URL และแสดงผลในหน้า viewnews.php

เพิ่มเติม
การออกแบบโครงสร้างของ URL นั้นมีความสำคัญเช่นเดียวกัน เช่นการวางลำดับของเนื้อหาให้ชัดเจน และแยกโครงสร้างต่าง ๆ ด้วยเครื่องหมาย Slash (/) เพราะเวลาที่ Google ทำการเก็บข้อมูลก็จะลำดับโครงสร้างของเว็บ ว่าแต่ล่ะ Level นั้นเป็นเรื่องเกี่ยวกับอะไร เช่นอย่างของ thaicreate.com มีการออกแบบโครงสร้างเนื้อหาในแต่ล่ะภาษาอย่างเช่นเดียว

https://www.thaicreate.com/php.html => หน้าหลักของ PHP
https://www.thaicreate.com/php/forum.html => หน้าหลักของ PHP ที่เป็น Forum
https://www.thaicreate.com/php/forum/00001.html => หน่าสำหรับกระทู้แต่ล่ะกระทู้ที่อยู่ใน Forum


แนะนำเพิ่มเติมว่าการออกแบบโครงสร้างให้เป็นลำดับชั้นแบบนี้ ก็ช่วยให้หลักการ SEO นั้นถูกต้องยิ่งขึ้น เพราะ Google หรือ Bot เองจะสามารถเข้าใจโคสงสร้างของเว็บต่าง ๆ ได้ชัดเจนยิ่งขึ้น โดยสังเกตุจากการค้าหาจะมีการแสดงผล แบ่งแย่งในแต่ล่ะลำดับด้วย

ตัวอย่างการแสดงผลในหน้าค้นหา

Apache Mod Rewrite PHP MySQL

จากรูปจะเห็นว่า Google เข้าใจโครงสร้างที่เราได้ออกแบบไว้ ซึ่งจะมี Sub ย่อยของ PHP และ PHP Forum ขึ้นมาด้วย และสามารคลิกไปยังลิ้งค์นี้ได้อีกด้วย

PHP => https://www.thaicreate.com/php.html
PHP Forum => https://www.thaicreate.com/php/forum.html



บทความอื่น ๆ ที่เกี่ยวข้อง
Go to : Mod Rewrite สร้าง URL Friendly รองรับ SEO ด้วย Module mod_rewrite ของ Apache Web Server
Go to : Apache Using 404 Error URL Rewrite - SEO Friendly URL for PHP
Go to : การทำ SEO กับแนวทางการเขียนโปรแกรมในยุคการแข่งขัน SEO (Search Engine)
Go to : ติดตั้ง Google PageRank (PR) ให้กับ Google Chrome และ Mozilla Firefox
Go to : IIS mod_rewrite/Url Rewrite (404 Error) URL - SEO Friendly URL for ASP and ASP.NET







   
Share
Bookmark.   

  By : TC Admin
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2012-06-14
  Download : No files
Sponsored Links
Meta Tags in 2019
Meta Tags in 2019
กล่าวโดยย่อ Meta เป็นสิ่งสำคัญสำหรับเครื่องมือค้นหาทั้งหมดที่ปรากฏในโค้ด HTML ของหน้าเว็บไซต์และบอกเครื่องมือค้นหาว่าหน้าเว็บนั้นเกี่ยวกับอะไร
Rating : Update : 2019-11-15 09:26:11
แก้ปัญหา Facebook Like หายเมื่อเปลี่ยนจาก HTTP เป็น HTTPS
แก้ปัญหา Facebook Like หายเมื่อเปลี่ยนจาก HTTP เป็น HTTPS
ในช่วงนี้หลายๆ เว็บกำลังเปลี่ยน เว็บจาก HTTP เป็น HTTPS และถ้ามีการใช้ Plugin Facebook Like / Shared คงจะเจอปัยหา Line หายกัน
Rating : Update : 2018-09-18 15:14:43
PHP ส่ง Line Notify ข้อความเข้า Inbox ส่วนตัวหรือ Group ง่ายๆ ด้วย PHP
PHP ส่ง Line Notify ข้อความเข้า Inbox ส่วนตัวหรือ Group ง่ายๆ ด้วย PHP
วิธีการใช้ Line ส่งข้อความเข้า Line ส่วนตัว หรือ ส่งข้อความเข้า Line Group ด้วย PHP เหมาะสำหรับการแจ้งเตือนกิจกรรมต่างๆ ที่ต้องการทราบ เช่น รายการสมัครสมาชิก, กิจกรรมที่เกิดขั้นบนเว็บ , รายการสั่งซื้อ
Rating : Update : 2019-04-23 10:59:06
เปลี่ยนจาก MySQL ไปเป็น MySQLi with Prepare Statement
เปลี่ยนจาก MySQL ไปเป็น MySQLi with Prepare Statement
สืบเนื่องมาจากต้องเพิ่มความปลอกภัยของระบบมากยิ่งขึ้นโดยใช้มาตราฐายของ Open Web Application Security Project (OWASP) หนึ่งในปัญหาหลักที่พบนั่นก็คือเรื่องของ (‘SQL Injection’) (CWE-89)
Rating : Update : 2019-03-18 13:58:49
ตรวจสอบความปลอดภัยของระบบ และเว็บไซต์ ตามมาตราฐานของ OWASP
ตรวจสอบความปลอดภัยของระบบ และเว็บไซต์ ตามมาตราฐานของ OWASP
สืบเนื่องมาจากต้องเพิ่มความปลอกภัยของระบบมากยิ่งขึ้นโดยใช้มาตราฐายของ Open Web Application Security Project (OWASP) OWASP_Code_Review
Rating : Update : 2019-02-22 16:05:27
C# เปลี่ยนชื่อ เพลง ด้วย regext
C# เปลี่ยนชื่อ เพลง ด้วย regext
C# เปลี่ยนชื่อ เพลง ด้วย regext หลายคนมักเจอ เวลาโหลดเพลงมาแล้วมักจะมีตัวเลขข้างหน้าติดมาด้วย เรามาลบมันออกกัน
Rating : Update : 2019-05-03 12:54:52
7 เหตุผล ที่ไม่ควรใช้ SELECT * เพื่อ Query ข้อมูล
7 เหตุผล ที่ไม่ควรใช้ SELECT * เพื่อ Query ข้อมูล
เชื่อว่า Programmer ทุกคน คงเคยใช้คำสั่ง SQL กันมาบ้างแล้ว และคำสั่งพื้นฐานที่ทุกคนถนัดและมักจะใช้กันบ่อยก็คือ SELECT * แต่วันนี้เรามาดูกันว่า คำสั่งที่เรามักใช้งานกันบ่อยๆ นี้ อาจจะไม่ค่อยเหมาะที่จะใช้เท่าไรนัก แต่จะมีเหตุผลอะไรบ้าง เราไปดูกันเลยครับ
Rating : Update : 2019-03-18 13:57:30
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   







Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่