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

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

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

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

กระทู้: 2,032



ดูรายละเอียด
« เมื่อ: 22 มีนาคม 2013, 09:48:14 »

เกริ่นก่อน

ผมมีอยู่ 3 ไฟล์และ 1 folder คือ
1. .htaccess
2. news.php
3. shownews.php

folder ชื่อ newsimg เก็บไฟล์ภาพ .jpg ของข่าวไว้

ต้องการแปลง
http://www.xxxx.com/shownews.php?id=1234
เป็น
http://www.xxxx.com/news/1234.html

1. ต้องเขียน .htaccess ยังไงครับ

2. ผมลองเขียนดูตามนี้

RewriteRule ^news/([^/]*)\.html$ /shownews.php?id=$1 [L]

ปรากฏว่าแสดงผลได้ครับ แต่..รูปที่อยู่ใน folder ของ newsimg มันไม่แสดงขึ้นมาครับ พอก๊ิอปลิงค์ url จะได้เป็น

http://www.xxxx.com/news/newsimg/xxxx.jpg ซึ่งบน host จริงจะไม่มีห้อง news/ อ่ะครับ
เพราะผมสร้างหลอกขึ้นมา

ไม่ทราบว่าต้องทำยังไงครับ

รบกวนทีนะครับ wanwan017
บันทึกการเข้า

เหนื่อย..
MapTwoZa
ก๊วนเสียว
*

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

กระทู้: 366



ดูรายละเอียด
« ตอบ #1 เมื่อ: 22 มีนาคม 2013, 10:01:38 »

ก็ base path มันอยู่ที่ www.xxxx.com/news/ อะครับ

ดังนั้นเวลาใส่รูป <img src="newsimg/xxxx.jpg ">
src มันจะกลายเป็น xxxx.com/news/newsimg/xxxx.jpg ครับ

วิธีแก้
ถ้า folder newsimg มันอยู่ที่ root directory ของ apache ก็แก้ img แบบนี้ <ส่วนที่เพิ่มคือสีแดง>
<img src="/newsimg/xxxx.jpg ">
บันทึกการเข้า

Good code quality Developer Cheesy
$100perday
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,032



ดูรายละเอียด
« ตอบ #2 เมื่อ: 22 มีนาคม 2013, 10:24:52 »

ก็ base path มันอยู่ที่ www.xxxx.com/news/ อะครับ

ดังนั้นเวลาใส่รูป <img src="newsimg/xxxx.jpg ">
src มันจะกลายเป็น xxxx.com/news/newsimg/xxxx.jpg ครับ

วิธีแก้
ถ้า folder newsimg มันอยู่ที่ root directory ของ apache ก็แก้ img แบบนี้ <ส่วนที่เพิ่มคือสีแดง>
<img src="/newsimg/xxxx.jpg ">


+1 ให้ครับ
แต่ปัญหาที่ท่านแนะนำมา ผมทำได้อ่ะครับ แต่ที่ตั้งถาม ผมอยากแก้เฉพาะ .htaccess จะมีทางมั้ยครับ
เพราะตัวอย่างที่ตั้งกระทู้นั้น มันเป็นแค่ส่วนหนึ่ง มันไม่ใช่แค่รูปข่าวครับ
ัทันรวมถึงภาพอื่นๆ  ที่เป็นโครงสร้าง template เว็บด้วยอ่ะครับ
ทั้งห้อง images , gameimg อย่างนี้ครับ

 wanwan017
บันทึกการเข้า

เหนื่อย..
@@@
Administrator
สมุนแก๊งเสียว
*

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

กระทู้: 634



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 22 มีนาคม 2013, 11:01:26 »

เท่าที่เคยทำผมจะใส่พาทรูปแบบเต็มเลย เช่น <img src="newsimg/xxxx.jpg "> ผมจะใส่เป็น <img src="http://www.xxxx.com/newsimg/xxxx.jpg "> ไปเลย

หรือแม้ที่ js และ css ก็ตาม เราก็ใส่ http://www.xxxx.com/js/jquery.js ,http://www.xxxx.com/css/style.css
บันทึกการเข้า

รับซื้อเว็บ 100uip ต่อวันขึ้นไป EA Forex
MapTwoZa
ก๊วนเสียว
*

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

กระทู้: 366



ดูรายละเอียด
« ตอบ #4 เมื่อ: 22 มีนาคม 2013, 11:06:17 »

วิธีแก้มี 2 วิธี
1. เขียน Method getBaseUrl() ขึ้นมา ทุกๆอันที่ลง link ก็ให้ ใช้อันนี้เริ่มต้นในการเรียก url ของภาพ หรือว่าจะใส่เองก็ได้ เช่น /news/... หรือ http://www.xxxx.com/news/...

2. เขียน htaccess redirect url image ที่ผิดกลับมาให้ถูก
RewriteRule news/newsimg/(.*).jpg /newsimg/$1.jpg [L]

htaccess ประมาณนั้นแหละ ลองปรับๆเอาผมยังไม่ได้เทสครับ -*-
« แก้ไขครั้งสุดท้าย: 22 มีนาคม 2013, 11:42:40 โดย MapTwoZa » บันทึกการเข้า

Good code quality Developer Cheesy
bosstaft
ก๊วนเสียว
*

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

กระทู้: 375



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 22 มีนาคม 2013, 15:18:04 »

RewriteEngine On 
Options +FollowSymLinks
RewriteRule ^.*/image/manga/(.*\.jpg|.*\.jpeg|.*\.gif|.*\.png)$ image/manga/$1 [L]
RewriteRule ^readmanga/(.*)/(.*)\_(.*)/(.*)\.html$ manga.php?chapid=$1&mangaName=$2&chapterName=$3&y=$4 [L]
RewriteRule ^random/(.*)\.html$ manga.php?y=$1
RewriteRule ^booklist/(.*)\.html$ mangalist.php?mangaName=$1 [L]

ตัวอย่างของเว็บอ่านการ์ตูนของผม อาจเป็นประโยชน์กับท่านครับ  wanwan017 
บันทึกการเข้า

ขายส่งชุดเด็กอ่อน แรกเกิด - 9 เดือน
สินค้าผลิตในประเทศ คุณภาพส่งออก
ส่งตรงจากโรงงานไม่ผ่านโบ้เบ้
หน้า: [1]   ขึ้นบน
พิมพ์