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

Registered : 107,936

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
เปลี่ยนจาก 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
(C#) จัดการ CheckBoxList ใน Array String อย่างไร จึงจะเลือกข้อมูลตาม CheckBoxList ได้ครับ
(C#) จัดการ CheckBoxList ใน Array String อย่างไร จึงจะเลือกข้อมูลตาม CheckBoxList ได้ครับ
บทความเรื่อง (C#) จัดการ CheckBoxList ใน Array String อย่างไร จึงจะเลือกข้อมูลตาม CheckBoxList ได้ครับ
Rating : Update : 2019-11-19 14:13:59
(C#) วน Loop ข้อมูลใน Array String อย่างไร จึงจะ Loop ตามการเลือก CheckBoxList แบบไม่ใช้ MSSQL
(C#) วน Loop ข้อมูลใน Array String อย่างไร จึงจะ Loop ตามการเลือก CheckBoxList แบบไม่ใช้ MSSQL
บทความเรื่อง (C#) วน Loop ข้อมูลใน Array String อย่างไร จึงจะ Loop ตามการเลือก CheckBoxList แบบไม่ใช้ MSSQL ครับ
Rating : Update : 2019-11-11 10:18:13
SQL Server Call HTTP URL เรียกใช้งาน URL Website จาก Stored Procedure
SQL Server Call HTTP URL เรียกใช้งาน URL Website จาก Stored Procedure
เทคนิคการใช้ SQL Server Call URL เรียกใช้งาน URL Website จาก Stored Procedure ของ SQL Server สามารถประยุกต์การใช้งานกับ Function ต่างๆ เช่น การเรียกให้ URL ทำงานเมื่อ Stored Procedure ทำงานเสร็จ
Rating : Update : 2019-04-29 09:39:38
#share บันทึกบันทึก: คำสั่งที่ใช้จัดการ package ใน alpine linux
#share บันทึกบันทึก: คำสั่งที่ใช้จัดการ package ใน alpine linux
#share บันทึกบันทึก: คำสั่งที่ใช้จัดการ package ใน alpine linux
Rating : Update : 2018-01-16 09:21:40
PHP ฟังก์ชั่นนี้สามารถช่วยให้อัพโหลดรูปภาพได้ง่ายขึ้น
PHP ฟังก์ชั่นนี้สามารถช่วยให้อัพโหลดรูปภาพได้ง่ายขึ้น
PHP ฟังก์ชั่นนี้สามารถช่วยให้อัพโหลดรูปภาพได้ง่ายขึ้น
Rating : Update : 2018-03-11 10:50:18
C# อ่านค่า Text file มาเเสดงบน DataGridView
C# อ่านค่า Text file มาเเสดงบน DataGridView
อ่านค่า Textfile.txt มาเเสดงบน DataGridView เเล้วดึงข้อมูลมาแสดงบน Textbox พอเป็นแนวทางสำหรับ คนที่ต้องการนำไปประยุกใช้ครับ
Rating : Update : 2019-04-23 11:19:42
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 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่