+1 ทุกท่านครับ ขอความช่วยเหลือเรื่อง URL FRIENDLY ทีครับ

เริ่มโดย $100perday, 22 มีนาคม 2013, 09:48:14

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

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

$100perday

เกริ่นก่อน

ผมมีอยู่ 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

ก็ 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 :D

$100perday

อ้างถึงจาก: MapTwoZa ใน 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 ">

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

:wanwan017:
เหนื่อย..

@@@

เท่าที่เคยทำผมจะใส่พาทรูปแบบเต็มเลย เช่น <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 ต่อวันขึ้นไป [direct=http://www.rommit.com/forex]EA Forex[/direct]

MapTwoZa

วิธีแก้มี 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 ประมาณนั้นแหละ ลองปรับๆเอาผมยังไม่ได้เทสครับ -*-
Good code quality Developer :D

bosstaft

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 เดือน
สินค้าผลิตในประเทศ คุณภาพส่งออก
ส่งตรงจากโรงงานไม่ผ่านโบ้เบ้