RewriteEngine on RewriteRule ^index.php$ new.php
www.x.com/page/main.php อยากจะให้ซ่อนตรงmain.phpไม่โชว์บน url
RewriteEngine On RewriteRule ^page/$ /page/main.php [L]
http://www.generateit.net/mod-rewrite/index.php
http://www.thaiseoboard.com/index.php/topic,3675.0.html
อยากซ่อน url ที่ต่อท้ายด้วย .php ทั้งเว็บ ด้วย .htaccess
เช่น
www.myweb.com/about.php
www.myweb.com/contact.php
อยากให้เป็น
www.myweb.com/about
www.myweb.com/contact
<IfModule mod_rewrite.c> IndexIgnore * Options +FollowSymlinks RewriteEngine on RewriteRule ^about$ about.php [L,QSA] RewriteRule ^contact$ contact.php [L,QSA] </IfModule>
ใช้ได้เลย แต่อยากให้เวลาเข้า about.php แล้วให้มันตัด .php ไปด้วยอ่ะ
RewriteRule ^about$ pages/about.php [L,QSA] RewriteRule ^contact$ pages/contact.php [L,QSA]
แบบนี้ จะเข้าได้เฉพาะ www.เว็บเรา.com/about
เพราะเราย้ายมันไปอยู่ใน Folder “pages” แล้วหรือเรียกว่า folder รวมหน้า ไม่ให้รกหน้า public_html ครับ
เมื่อเข้า www.เว็บเรา.com/about.php ก็จะไม่มีครับ 404 คุณก็ทำ หน้า404 ใว้รับลิงค์เสียอย่างเว็บทั่วๆไปเค้าทำกันครับ
ย้ายที่ Path แบบตัวอย่างผมด้านบน อย่าลืมดูเรื่อง path อื่นๆด้วยครับ แต่ก่อนผมเป็นแบบคุณเด๊ะๆ
ทำไปเรื่อย แก้ไปเรื่อยเราจะจัดวางตำแหน่งได้ลงตัว และเป็นระแบียบได้เอง
ระวังมีปัญหากับ path อื่นที่ต้องใช้เช่น /images/
วิธีแก้ไขของผมเวลาดึงรูปมาแสดง จะแสดง Full Path
ตอนนี้ทำได้แล้ว แต่ติดปัญหาอีกนิดหน่อย คือว่า
…ตอนนี้เว็บเข้าได้ทั้ง
www.myweb.com/about
และ
www.myweb.com/about.php
อยากให้มันไปหน้าโดยที่ไม่มี .php อย่างเดียวเลยครับ วอนผู้รู้ช่วยที
.htaccess ที่ผมใช้คือ
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php
มันมีวิธีอยู่ครับ แต่ผมว่าเข้าได้ทั้ง 2 แบบน่าจะดีกว่านะครับ
มิฉะนั้นคุณจะมีปัญหาเรื่องการ get ตัวแปรนะครับ
http://www.scriptdd.com/webtip/apache-mod-rewrite-easy-url.html
http://www.divland.com/blog/2008/05/14/seo-url-mod-rewrite-htaccess/