ผมเขียนโค้ดไว้ประมาณนี้
RewriteEngine on
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetDefault utf-8
</IfModule>
Options -Indexes
SetEnv TZ Asia/Bangkok
RewriteCond %{HTTP_HOST} ^pansiam\.com$ [NC]
RewriteRule ^(.*)$
http://www.pansiam.com/ 
$1 [L,R=301]
RewriteRule ^index.php$
http://www.pansiam.com/ 
[L,R=301]
RewriteCond $1 !^(index\.php|download|images|includes|media|modules|scripts|styles|tools)
RewriteRule ^(.*)$ index.php?/$1 [L]
ใช้กับตัว Direct Admin อันเก่าได้ แต่พออัพใหม่แล้วใช้ไม่ได้
ผมใช้เพื่อ rewrite ไฟล์ที่อยู่ในโฟลเดอร์ modules/about/index.php ให้เป็น about.html
พอลองถอดโค้ดออกเหลือแค่
RewriteEngine on
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetDefault utf-8
</IfModule>
Options -Indexes
SetEnv TZ Asia/Bangkok
RewriteCond $1 !^(index\.php|download|images|includes|media|modules|scripts|styles|tools)
RewriteRule ^(.*)$ index.php?/$1 [L]
หน้าเว็บแสดงผลเป็นปกติแต่ ไม่สามารถคลิกลิ้งไปที่หน้าเว็บอื่นได้ url เปลี่ยนแต่หน้าเว็บไม่เปลี่ยน
เหมือนกับว่า จะไม่สามารถใช้ .htaccess กับ php เวอร์ชั่นที่สูงกว่า 5.3 ได้ พอมีวิธีแก้ไหมครับ ปวดแก่นคัก
เพิ่มเติมโค้ดที่ใช้เรียก
require_once("mainfile.php");
//$_SERVER['PHP_SELF'] = "index.php";
$name = $_GET['ref'] = path_info(php_self($_SERVER['PHP_SELF'], 0), 'filename');
$file = $_GET['app'] = path_info(php_self($_SERVER['PHP_SELF'], 1), 'filename');
$vitew = $_GET['vitew'] = path_info(php_self($_SERVER['PHP_SELF'], 3), 'filename');
GETMODULE($name, $file);