Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menulis Semula URL dalam PHP: `.htaccess` vs. Pendekatan PHP?

Bagaimana untuk Menulis Semula URL dalam PHP: `.htaccess` vs. Pendekatan PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-29 12:30:14859semak imbas

How to Rewrite URLs in PHP:  `.htaccess` vs. PHP Approach?

Menulis Semula URL dengan PHP

Mencipta URL mesra pengguna ialah aspek penting dalam pembangunan web. Menulis semula URL melibatkan penukaran URL yang kompleks dan bertele-tele kepada URL yang lebih ringkas dan bermakna.

Cara Menukar URL daripada 'picture.php?id=51' kepada 'picture.php/Some-text-goes -here/51'?

Terdapat dua kaedah utama untuk menulis semula URL dalam PHP:

1. .htaccess dengan mod_rewrite

Buat fail .htaccess dalam direktori akar dan tambah kod berikut:

RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9]+)$ /picture.php?id=

Ini mengarahkan Apache untuk menggunakan mod_rewrite dan menulis semula URL yang sepadan dengan corak yang ditentukan kepada format yang dikehendaki.

2. PHP

Dalam fail .htaccess, tambah:

FallbackResource /index.php

Dalam index.php, anda boleh melaksanakan penghuraian dan penulisan semula URL menggunakan kod berikut:

$path = ltrim($_SERVER['REQUEST_URI'], '/');
$elements = explode('/', $path);

if (empty($elements[0])) {
    ShowHomepage();
} else {
    switch (array_shift($elements)) {
        case 'Some-text-goes-here':
            ShowPicture($elements);
            break;
        case 'more':
            ...
        default:
            header('HTTP/1.1 404 Not Found');
            Show404Error();
    }
}

Pendekatan ini membolehkan lebih fleksibiliti dan boleh digunakan untuk melaksanakan peraturan penghuraian URL yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Menulis Semula URL dalam PHP: `.htaccess` vs. Pendekatan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn