A-AA+then

ช่วยบอกวิธี เขียนโค้ด mod rewrite หน่อยครับ

1,832
คือว่าผมอยากเขียนโค้ด mod rewrite ได้ดูตัวอย่างแล้ว และทำแล้ว ไม่เห็นมันเกิดรายขึ้นเลยครับ 

ไฟล์แรก .htaccess แบบนี้ครับ

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]

RewriteRule ^(.*) main.php

ErrorDocument 404 /pagenotfound.html

ส่วนไฟล์ที่สอง main.php แบบนี้ครับ

<?php
define("ES-REPAIR", 1);
error_reporting(E_ALL);

// ประกาศตัวแปร
$context = array();

// เรียกฟังก์ชั่น แสดงหน้า
call_user_func(query_file());
themeplate_bellow();

function query_file()
{
    global $context;
   
    // Relative path
    $context['dir'] = str_replace('\\', '/', dirname(__FILE__));
    // Absolute path
    $context['path'] = "http://".$_SERVER['SERVER_NAME'].str_replace($_SERVER['DOCUMENT_ROOT'], '', $context['dir']);
    // uri แบบที่ตัด root folder ออก
    $context['uri'] = str_replace($context['dir'].'/', '', $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI']);
    // explode เพื่อตัดข้อมูลหลังจาก ? ออกไป
    list($context['xuri']) = explode('?', $context['uri'], 2);
    // explode เพื่อสร้าง array โดยการ แยก ที่ตำแหน่ง /
    $context['uri'] = explode("/", $context['xuri']);
   
    $QueryString = $context['uri'][0];
   
    if(eregi('--', $QueryString)) {
        $trueQuery = explode('--', $QueryString);
        $QueryString = $trueQuery[0];
        $context['uri']['sub'] = $trueQuery[1];
    }
   
    $actionArray = array(
        'home' => array('index.php', 'Home', 'หน้าแรก'),
        'showweb' => array('showweb/main_cat.php', 'Showweb', 'สารบัญเว็บไซต์'),
        'addindex' => array('addindex/index.php', 'Addindex', 'เพิ่มเว็บไซต์'),
        'contactus' => array('contact/index.php', 'Contact', 'ติดต่อเรา'),
        'search' => array('search/index.php', 'Search', 'ค้นหาเว็บไซต์'),
        'newweb' => array('newweb/index.php', 'Newweb', 'เว็บไซต์มาใหม่'),
        'hotweb' => array('hotweb/index.php', 'Hotweb', 'เว็บไซต์ยอดนิยม'),
        'top10' => array('top10/index.php', 'Top10', 'เว็บไซต์์สิบอันดับ'),
        'admin' => array('admin/thaiindexz.php', 'Admin', 'หน้าผู้ดูแลระบบ')
    );

    //themeplate_header();
    //navigator();
    if(!isset($actionArray[$QueryString])) {
        $context['title'] = 'หน้าแรก';
        themeplate_header();
        require_once(DIRSOURCE.'index.php');
        return 'Home';
    } else {
        $context['title'] = $actionArray[$QueryString][2];
        themeplate_header();
        require_once(DIRSOURCE.$actionArray[$QueryString][0]);
        return $actionArray[$QueryString][1];
    }
}
?>


ผมไม่รู้จะทำไงแล้วครับ งงมาหลายวันแล้วครับ ช่วยที่นะครับ ขอบคุณล่วงหน้าครับ
เว็บนี้ครับ http://www.webthaiindex.com

0 ความคิดเห็น

^